文章に含まれる下記文字を抽出したいのですが、書き方を教えてください。
抽出したい文字 「#hogehoge 」 の「#」から最後の「半角スペース」までです。
上記文字が含まれている文章は
こんにちは #aiuoeo さん、#kakikukeko さん、私は・・・・
#hogehoge 先日の・・・
などの文章です。
先頭が必ず#とは限らず、最後も半角スペースではないので、
^#.*$/sなどではありません。
また、1回とは限らず複数回でてくることもあります。
正規表現で書くことは可能なのでしょうか。
初歩的な質問で大変申し訳ありませんが、どうぞ宜しくお願いいたします。
No.3ベストアンサー
- 回答日時:
> 先頭が必ず#とは限らず、最後も半角スペースではないので、
この文章は大変わかりにくいですが、次の意味ですよね?
「行の先頭が必ず#とは限らず、行の最後も半角スペースとは限らないので、」
それで、抽出したい文字は
> 「#hogehoge 」 の「#」から最後の「半角スペース」までです。
とのことですが、この《最後の「半角スペース」まで》
という意味がまたよくわかりません。
例えば、
「#abc_123 def_456 ghi_789」
という行があった時、
「#abc_123 」までが抽出対象になりますか?
それとも、「その行の最後の半角スペースまで」という意味で
「#abc_123 def_456 」までが抽出対象になりますか?
前者であれば、「#.*? 」です。(*?は最短マッチ指定)
後者であれば、「#.* 」です。
それと、「半角スペースまで抽出」と書かれると、
抽出対象にその半角スペースを含めるという意味になると思いますが
正しいですか?
実際には「半角スペースの手前までを抽出」のではないですか?
そうであれば、正規表現式は
「(#.*?) 」や「(#.*) 」
のように抽出したい範囲を()で指定して正規表現検索し、
MatchオブジェクトのSubMatchesコレクションで()内の
部分を抽出します。
> また、1回とは限らず複数回でてくることもあります。
これは、RegExpオブジェクトのGlobalプロパティをTrueに設定して
正規表現検索すればよいです。
各キーワードの意味がわからなければ、RegExpオブジェクトの
説明を参照してください。
(参考)
http://msdn.microsoft.com/ja-jp/library/cc392403 …
返信が非常に遅くなりまして申し訳ありません。
丁寧な回答をありがとうございます。
無事、マッチング処理が行えました。
regexpの使用方法など教えてくださいましてありがとうございました。
No.2
- 回答日時:
文の先頭、文の最後、と読めば矛盾しないですね。
正規表現は、どの言語でもほとんど同じですよ。
VBAでは、CreateObject(VBScript.RegExp)を使います。
パターンは"#[A-Za-z]+ "で。
詳しいことは「VBA 正規表現」で検索してみてください。
御礼が遅くなりまして大変申し訳ありません。
パターンの設定方法や参考文献を教えてくださいましてありがとうございました。
おかげで、今回の問題は無事解決できました。
ありがとうございました。
No.1
- 回答日時:
>抽出したい文字 「#hogehoge 」 の「#」から最後の「半角スペース」までです。
>先頭が必ず#とは限らず、最後も半角スペースではないので、
これは矛盾しているように思えます。
また、提示された例ではどのようなマッチを望んでいるのかさっぱり分かりません。
・ 実際に検索対象となる文章を用いて、その文と希望するマッチ結果をペアで提示してください。
・ その際、伏せたい固有名詞などは適当に同じような単語に置き換えてもらってOkです。
・ 実際の文章に含まれていない記号やスペースを加えないでください。
・ パターンが複数ある場合はすべて列挙してください。イレギュラーなパターンは特に重要です。
対象文字列
1. 私はりんごを食べたいな。僕はスイカを食べたい。俺はびわを食べるよ。
2. みかん狩り、なし狩り、イチゴ狩りの日程。
期待するマッチ結果
1. りんご 、 びわ
2. みかん 、 なし
御礼が大変遅くなりまして申し訳ありません。
また、質問内容が曖昧でかつ矛盾のある内容となっておりまして申し訳ありませんでした。
質問の仕方など、気を付けます。
今回の問題につきましては、無事解決することができました。
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) エクセルの数式で教えてください。 3 2022/10/25 10:52
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
℃の半角表示
-
メールアドレスの上ハイフン入...
-
関数を使わずに一括で全角を半...
-
半角の×(かける)は?
-
半角の『°(単位の度)』
-
テプラは半角数字が使えますか?
-
EXCELの文字列操作で文字数不足...
-
契約書や 公文書・私文書などに...
-
ギリシャ文字 μの出し方
-
お名前(姓)」には「カタカナ(...
-
EXCEL95 VLOOKUP関数で半角と全角
-
EXCELで、セル内の半角カ...
-
エクセルVBAでMsgboxの表示をそ...
-
エクセルのハイパーリンクの文...
-
エクセルでセルの連結の逆
-
Word のスペースキーの半角を...
-
エクセルで、JIS関数、ASC関数...
-
Excel2016 検索の窓を常時表示...
-
エクセルで 全角の空白を含む...
-
Excel 文字列の中から数字だけ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テプラは半角数字が使えますか?
-
半角の『°(単位の度)』
-
メールアドレスの上ハイフン入...
-
半角スペース
-
契約書や 公文書・私文書などに...
-
半角の×(かける)は?
-
EXCELの文字列操作で文字数不足...
-
関数を使わずに一括で全角を半...
-
EXCEL95 VLOOKUP関数で半角と全角
-
℃の半角表示
-
Excel2016 検索の窓を常時表示...
-
EXCELで、セル内の半角カ...
-
エクセル関数で文字列の中のス...
-
半角の漢字の入力方法
-
ビジネスの文書における、数字...
-
エクセルで、JIS関数、ASC関数...
-
【VBA】ファイルパスに半角スペ...
-
Excel 文字列の中から数字だけ...
-
エクセルでひらがな・漢字はそ...
-
お名前(姓)」には「カタカナ(...
おすすめ情報