締切済み 先頭 中央 末尾 スぺースチェック 2009/03/04 16:10 ある文字列の先頭と末尾の全角スペースを削除し、文字列の途中での(全角または半角)スペースは1つだけ残る(複数入った場合)のチェックはどうしたら要いいでしょうか? ご教授願います。 みんなの回答 (5) 専門家の回答 みんなの回答 askaaska ベストアンサー率35% (1455/4149) 2009/03/05 18:16 回答No.5 どうすればって もう書いたじゃない。 もう一回表現を変えて書いてあげるわね。 あなたが一番下で提示しているロジックの replace処理の後に もう一回replaceしてあげる必要があるの。 次のreplace文は 全角スペースが1つ以上あったら1つに置き換える という感じになるわね。 質問者 お礼 2009/03/06 09:54 何回も教えていただきまして、ありがとうございました。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 askaaska ベストアンサー率35% (1455/4149) 2009/03/04 19:14 回答No.4 何なの?そのif文? \sを入れているってことは全角スペース以外も対象になっているのね。 > やはりうまく行かなかったのはなぜ 具体的にどう上手くいかなかったのか書いてくれないと困るわ。 そもそも " あああ いいい ううう " が "あああ いいい ううう" でいいのかにも答えてくれてないから あなたの目標がまだわかっていないのよ。 まあこれが目標って思い込むけど。 if文の謎はおいておいて あなたのreplaceだと 両端のスペースは取り除けても 真ん中が処理できないのではなくて? 真ん中のを処理するにはもう一回replaceが必要だわ。 1回のreplaceではどうすることもできないから必ず2回必要なの。 次のreplace文は 全角スペースが1つ以上あったら1つに置き換える という感じになるわね。 質問者 補足 2009/03/05 10:51 >" あああ いいい ううう " ↓↓ >"あああ いいい ううう" はっきり言わなかった、すみません。 askaaskaさんの言ったような結果になるには、どうすればよいでしょう? 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 noname#84373 2009/03/04 17:13 回答No.3 2です。訂正です。こんなの? alert(' 文 字 列 1 '.replace(/^ +| +$/gm,'').split(/ | /gm).length+'ある'); 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 noname#84373 2009/03/04 17:10 回答No.2 alert(' 文 字 列 1 '.replace(/^ | $/gm,'').split(/ | /gm).length+'ある'); 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 askaaska ベストアンサー率35% (1455/4149) 2009/03/04 17:04 回答No.1 " あああ いいい ううう " が "あああ いいい ううう" になるってことかしら。 replaceで正規表現を使えば2行でできるわよ。 質問者 お礼 2009/03/04 18:26 ありがとうございました、 実は自分のはほうは以下のように書いてみましたが、やはりうまく行かなかったのはなぜ? もしよかったら、またご教授をお願いします。 <%@ page contentType="text/html; charset=Windows-31J" %> <HTML> <HEAD> <TITLE>テスト</TITLE> <SCRIPT type ="text/JavaScript"> function trim(str){ // 前後の全角・半角スペースを削除 if( str = str.replace(/^[\s ]+|[\s ]+$/g,"")){ // オブジェクトの中身を str にし、str を返す return str; } } //--> </SCRIPT> </HEAD> <BODY> <FORM NAME="testForm" METHOD="post" ACTION="/jsptest/test.jsp"> <TEXTAREA WRAP="hard" NAME="str"></TEXTAREA> <INPUT TYPE="button" VALUE="送信" ONCLICK="trim()"> </FORM> <% String str = request.getParameter("str"); %> あなたの送信した情報は【<%=str%>】です。 </BODY> </HTML> 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発JavaScript 関連するQ&A 半角全角スペースの削除(先頭&末尾) やまとです。 ある文字列の先頭と末尾のスペースを取り除きたいのですが、 どのようにしたら良いでしょうか? 事前に試した事が2つあります。 1.trim を使用する。 $aiueo = " あいうえ お "; $aiueo = trim($aiueo)); とすると、スペースが削除されます。 しかし、これでは全角のスペースが削除されないようですね。 2.置換する。 $aiueo = " あいうえ お "; $aiueo = str_replace( ' ', '', $aiueo ); とすると、全角のスペースが削除されます。 しかし、文字列の先頭と、末尾以外の全角スペースも削除されてしまう ようですね。 では、文字列の先頭と末尾の半角スペースと全角スペースを削除したい場合は どのようにしたら良いでしょうか? ご教授願います。 末尾の全角スペースの削除 SQL Server 2008環境です。 文字列の末尾の空白を一括して削除したくて、以下のようなクエリを書きました。 UPDATE TEST_TABLE SET NAME = REPLACE(RTRIM(REPLACE(StoreBranchName, ' ', ' ')), ' ', ' ') 全角スペースを一度半角スペースにして、RTRIMをかけた後、最後に 半角スペースを全角に直すというものです。 しかし、これだと、元々半角スペースが入っていた場合、そっちまで全角スペースに なってしまうため悩んでおります。 うまいやり方を教えていただけないでしょうか。 宜しくお願いします。 SQLServerで文字列の末尾からある位置で取出 SQLServer2012で selectで文字列の末尾から(右から)ある文字の位置までを取り出したいのですが どのようなSQLにすればよいのでしょうか。 やりたいことは、 例えば、文字列「abc 123 xyz」があるとします。 末尾から(右から)見て、最初に見つかった半角スペースから後ろ「xyzを取り出し たいです。 RIGHT を使えば取り出すことはできるのですが、取り出したい文字列の長さが同じ でないので使うことができません。 お願いします。 ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム エクセルVBA 先頭と末尾(後尾)に文字入力する エクセルVBAについて教えてください (1)選択した複数のセルに文字入力がされていた場合、入力文字の先頭に*を入力させたい (2)選択した複数のセルに文字入力がされていた場合、入力文字の末尾(後尾)に*を入力させたい (3)選択した複数のセルに文字入力がされていた場合、入力文字の先頭と末尾(後尾)に*を入力させたい (1)一応、これで先頭に*が入力されました Sub test1() Dim c As Range For Each c In Selection If Len(c.Value) > 0 Then c.Value = "*" & c.Text Next End Sub (2)失敗(構文エラーになります) Sub test2() Dim c As Range For Each c In Selection If Len(c.Value) > 0 Then c.Value = c & "*".Text Next End Sub どのようにしたら、末尾に*を入力させられるのでしょうか (3)不明 (1)はできたのですが、(2)(3)はどうしたらよいか分かりません もし、(1)も変更した方が良いのであればそれも教えてください よろしくお願いします JAVA で入力された文字の・・・・ JAVAでJSPのテキストボックスに入力された文字列に、「全角スペース、半角スペース、¥t(タブ)、¥」が入っているかをチェックして、対象文字があれば削除する処理を行いたいのですが、どのようにすればよいのでしょうか? 文字列に半角・全角スペースが入っているかをチェックする関数のおかしな結 文字列に半角・全角スペースが入っているかをチェックする関数のおかしな結果? 下記コードのように「文字列に半角・全角スペースが入っているかをチェックする関数」を作りました。 $textに入る文字列に半角・全角のスペースが入っているかをチェックします。 -------------------------------------------- my $text = "東 京"; if( isSpace($text) ) { print "スペースあり"; } else { print "スペースなし"; } sub isSpace{ my $str = shift || return(undef); if( $str =~ /.*[\s ]+.*/ ){ return(1); }else{ return(0); } } -------------------------------------------- しかしなぜか1行目を my $text = "メ"; とするとスペースが入っているという結果になってしまいます。 なぜ「メ」が入ると半角もしくは全角のスペースとみなされてしまうのでしょうか? また、どうすれば正しくチェックできるようになりますか? よろしくお願いします。 WORDで行の先頭を揃えるには ワードで行の先頭が揃いません。. "1行目のインデント"等使うのですが 微妙に先頭が揃いません。下記のように、 揃える文字の前に半角全角等異なる文字がある場合 特に先頭が揃いません。 例 あああああ 1) Aaaaa 2) WAAAQあい 3) ああああqqq2 4) 上記の1)2)3)4)を左に縦一列に揃えることは難しいのですが よい方法をお教えください。宜しくお願いします。 WORDで行の先頭を揃えるには ワードで行の先頭が揃いません。. "1行目のインデント"等使うのですが 微妙に先頭が揃いません。下記のように、 揃える文字の前に半角全角等異なる文字がある場合 特に先頭が揃いません。 例 あああああ 1) Aaaaa 2) WAAAQあい 3) ああああqqq2 4) 上記の1)2)3)4)を左に縦一列に揃えることは難しいのですが よい方法をお教えください。宜しくお願いします。 OCRで読み取った英文を正規表現を使って整形したい 英文をOCRで読み取ったデータがあります。 ワードなどに入れるには、末尾の余分な改行が邪魔で削除したいので、秀丸エディタを使用して整形したいと思っています。 何段階かに分けてしないといけないと思いますが、アドバイスをいただければと思います。 以下にある程度考えたものを書きますので、ご指摘いただけば幸いです。 1) 全角文字を半角にする 右クリックメニューから「ハンカクに変換」 2) スペースやタブのみの行のスペースを削除 置換で、^[ \t]+\n → \n 3) 末尾の余分なスペースを削除 置換で、 $ → なし (※ 検索文字列の$の前には半角スペースがある。) 4) 単語の途中で改行されている単語をくっつける(末尾の-を削除し、次の行と繋げる) 5) .や?や! で終っていない行末の改行を削除 上記のような流れで大丈夫でしょうか? 4)は、[a-z]-$ で検索すれば、単語を分割する末尾のハイフンは探してくれますが、それを削除して、次の行と繋げることができず、とりあえずキーマクロで処理しました。 具体的には、キーマクロ登録開始、F3で検索、一文字シフトしてハイフンと改行を削除、キーマクロ終了で、登録しておいて、後は連続的にキーマクロを実行しました。 5)は、小文字で始まっている行の先頭を探し、スペースを入れて、バックスペースで前の行とつなぎました。 ^[a-z] それでも行末が変な所があったので、 [^\.\!\?]$ で検索して、個別に直していきました。(タイトル行などで、ピリオドで終わらない場合もあるので。) このような整形の必要性は割とありそうなのですが、なかなかいい情報が見当たりませんでした。 アプリケーションも探しましたが、なかなか見つからなかったのと、見つかったものもうまくいきませんでした。 何かうまい方法などありましたら、教えてください。 エクセルで左端のスペースを削除したいです。 こんにちは いつもお世話になっています。 エクセル2003を使っています。 A列に人名の文字列があります。左端に半角のスペース、文字列の中に全角のスペース、右端にスペースはありません。文字の個数は人名のため様々です。 ここで、左端の半角スペースだけを削除したいのです。 Ltrim関数というのが当てはまるのでしょうか。 半角スペースの削除の方法を教えてください。 複数のフォルダ名を一括変更したい 写真を保存しているフォルダのフォルダ名を一括変更する方法があれば教えてください。 「20180907 新宿区 ●●マンション」という感じにファイル名をつけたフォルダが複数あります。 フォルダ名を「●●マンション 20180907 新宿区」のような感じに変更したいのですが、数がかなりあるので、一括で変更できる方法はないでしょうか?? フォルダ名を入力した人が色々なので、順番は統一されているのですが、スペースは人によって半角だったり全角だったりなかったりします。 フォルダ名を一括で変更出来るソフトは「Namely」や「FlexRenamer」などあるのですが、先頭から何桁か削除することが出来ても、先頭の文字列を切り取って末尾に付けるような機能はないようです。 出来ればタイムスタンプも変わらないとなお良いのですが、文字列や数もバラバラですし、むりでしょうか? 良い方法があれば教えてください。よろしくお願いします。 勝手に先頭の英文字が大文字になる(ATOK) 初歩的な質問で恐縮なのですが、標題のとおり、全角でも半角でも、英文字を複数並べると、勝手に先頭が大文字、二文字目以降が小文字になってしまいます。 ATOK(17を使用しています)のツールやパレットを広げて何となく眺めていますが、わかりません。 おそらく、英文字の昇順降順がカスタマイズされていると推測されますが、そのチェックボックスのありかを教えて下さい。 AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム ワードのワイルドカードを使った置換について ワードでワイルドカードを使って置換をしたいのですが、うまくいきません。 数字の前の全角スペースを半角スペースに変えたいのです。 置換でワイルドカードを使用するにチェックを入れ、 検索する文字列は「全角スペース[0-9]」 置換後の文字列は「半角スペース\1」 として実行してみたのですが、 〔置換後の文字列〕に指定できない範囲の番号が含まれています というメッセージが出ます。 全角スペース[0-9]はきちんと認識しているようで、検索まではうまくいっているようですが、 置換後の指定の仕方が悪いようなのです。 お教えいただければと思います。 よろしくお願いいたします。 エクセル関数で文字列の中のスペースの有無を調べたい。 エクセル関数について教えてください。 全てが半角のはずの文字列・A1セルについて、下記について調べたいです。 1.同列(A列)の他のセルに入力されている文字列とのダブリチェック(同じ文字列がないかの確認) *ダブリがある場合"ダブリ"表示 2.A1の文字列中のスペースの有無 *スペースがある場合"スペース"表示 3.A1の文字列中に全角が混ざっていないか *全角がある場合"全角"表示 1.については、 =IF(COUNTIF(A:A,A1)>=2,"ダブリ","") の関数を使用してチェックが出来ると思うのですが、 2.については、関数TRIM 及び 置換での削除方法、3.については、 関数ASC での半角変換 しか手段が見つかりませんでした。 上記のものをマクロを組んでいる中に組み込みたいので、出来れば、上記3つの結果をひとつのセル(C1)に表示させたいのですが、可能でしょうか? *A1セルに上記3つが当てはまる場合、C1セルに "ダブリスペース全角" と表示させたい。 どれについて引っかかっているのかがわかればいいので、記号などに置き換えてもかまいません。 可能な限り調べては見たのですが、私の知識ではどうにもなりませんでした。 もし、いい案などがあればご紹介してください。 宜しくお願いいたします。 awkでバイト数を方法 文字列$2を300文字まで切り取る方法は substr($2,1,300)ですが、 全角半角が混在している文字列を 先頭から300バイト取得する方法が分かりません。 お手数をおかけしますが、 ご教授願いします。 半角スペースを全角スペースに 文字列で、半角スペースを全角に置き換える方法がわかりません。。。 正規表現が苦手で、MySQLに登録する画面を作りましたが、半角スペースがあると、それ以降が無視されてしまうため、その半角スペースを全角スペースに置き換えたいのですが、書式がわかりません。 すいませんが、ご教授お願いします。 あと、もし全角スペースに置き換える方法以外で何かいい策などもしありましたら、それもよろしくお願いします。 (VBA)文字列の最後のスペース及びーを削除 (VBA)文字列の最後のスペース及びーを削除 2021/09/01 11:35 offie_2019,windows10 ちょっと紛らわしい質問なのですが 例えば、E列に文字列が数十行あって それぞれの文字列の最後が下記のよう場合 不必要なスペースと-を削除したいのですが何か方法がありますか ? (視認性を良くするために 半角又は全角のスペースを□で表します。) -は、半角若しくは全角 それぞれ削除した文字列をE列の横のF列に書き出す形式を考えています。 takano□- takano- takano□- takano□-□ takano. takano.□ takano□(vol.2)□- 不必要削除後は、 takano takano takano takano takano. takano. takano takano□(vol.2) 一例の参考画像を下記に添付しました ExcelVBAのLineInput取得値の置換等 ExcelのVBAでLine Inputで取得した内容について、 いくつかの処理を行いたいのですが記述が分かりません。 どうか教えて頂きたく思います。 Sub test() Dim buf As String Open "D:\test.txt" For Input As #1 Do Until EOF(1) Line Input #1, buf 「ここに入る処理の記述」 Loop Close #1 End Sub 知りたい記述の処理内容 Bufの中を先頭から1文字1文字確認して… 1.もしBufの先頭と行末にスペースがあれば、スペースを削除(全角・半角・タブを対象) 2.もしBufに2文字以上の連続スペースがあれば、それが1文字になるまで削除(1文字だけは残す) 3.もしBufに半角英大文字があれば半角英小文字にする(または半角英小文字を半角英大文字にする) 4.もしBufに全角数字があれば、半角数字に置換する 5.もしBufに全角漢字(都道府県市区町村名等)しか無かった場合、特定の文字の後に全角スペースを入れる(県と市) 6.もしBufに数字の後に続く半角ハイフンがあった場合(2-5-301号室等)ハイフンを全角にする 7.もしBufに"郵便番号"或いは"〒"の文字があった場合、該当する文字のみを削除 8.もしBufに"東京都""沖縄県""大阪府""北海道""福岡県"以外の文字があった場合、該当する文字以外を削除 9..もしBufが47都道府県以外の文字で始まった場合、Bufの先頭に"都道府県名エラー"と加える 全て別々の処理として教えて頂きたく思います。 分かる部分だけで構いませんので、どうぞ宜しくお願い致します。 WORD2007です。 WORD2007です。 行の途中でスペースを数文字分打ち、その後(111.1)と全角で打ち、括弧を含めた数字部分を均等割付7文字に設定します。 その後括弧内の数字を修正しようとすると括弧も含めた数字が全て半角に強制修正されてしまうのですがなぜなんでしょうか? 全て削除して頭から全角で打ち直すと半角にはならずにすむのですが、途中の数字一文字だけ直そうとすると半角を強制されてしまいます。 ご教授願います。 Excelで各セルの先頭からスペースを含めた10文字を消去する方法 OSは XP SP2 Office2007を使用しています。Excelも2007です。 1000行あるデータの中から、ある列においてのみ、先頭から半角26文字(スペースを含む)だけを消去したいのですが、簡単に消去できる方法はないでしょうか? 26文字の構成は、年月日 時刻 1桁数字 1桁数字で、「2010/01/10 12:30:30 0 3」となっております。スペース部分はスペースが半角2つ並んでいます。 わかる方、ぜひ教えてください。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
何回も教えていただきまして、ありがとうございました。