
【VB.NET】文字列検索方法
今晩は,質問させていただきます.どうぞよろしくお願いいたします.
例えば、Str1 = "ABCABCABCABC" におきまして
「4番目の"B"」の位置(この場合11)を知りたい、という場合に
すぐにそれが計算できる関数のようなものってあるのでございましょうか??
↓のようなめんどくさい方法しか思いつかないのでございますが。。。orz
・Str1.Indexof("B") が2になるのでそこまで消す
→Str2 = "CABCABCABC"
→・上と同様に2回目
→Str3 = "CABCABC"
→・上と同様に3回目
→Str4 = "CABC"
→・最後に一回検索して、今まで消した文字数合計と検索位置を加える →「11」
orz
もし何かもっと早い方法などございましたら、是非ともご紹介
いただきたくどうぞよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
#俺が正規表現を褒めるのは割と珍しい。
#正規表現あまり好きでない俺は、
#ごちゃごちゃ書いていたのだが
#Monoはlambda式にエラーを出すようで、
#http://ideone.com/henCn
#を実行することが出来なかった。
#なお、"ABC"等、そもそもこれにマッチしない文字列が指定された場合は0を出力する。
この回答への補足
(お礼後の捕捉になります)
。。よくよく見させていただくと、なんとコーディングしていただいた上に
UPしていただいているんですね^^/
お忙しい中、ご親切にどうもありがとうございました!!m(_ _)m
どうもありがとうございます!!m(_ _)m
正規表現で出来るのでございますか。。今まで
難しそうなので逃げ回ってばかりおりましたが。。^^;
これを機会に頑張ってみます、どうもありがとうございました!!!
No.2
- 回答日時:
IndexOfの仕様をよくみてください。
http://msdn.microsoft.com/ja-jp/library/system.s …
「検索は、指定した文字位置から開始されます。」というのがあります。
idx=Str1.Indexof("B") '1文字目
idx=Str1.Indexof("B",idx + 1) '2文字目
idx=Str1.Indexof("B",idx + 1) '3文字目
idx=Str1.Indexof("B",idx + 1) '4文字目
宣言、エラー処理は省略しました。どこまで早いかわかりませんが、すくなくとも、いちいち削除するやりかたよりは早いです。
どうもありがとうございます!^^
確かにこっちの方が早いですね。コーディングも一瞬ですし。^^
この度はご親切にアドバイスいただきまして助かりました。
どうもありがとうございました!!m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Excel(エクセル) Excelの列から検索して該当する行を別シートに転記するVBA 2 2022/12/20 09:35
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- Excel(エクセル) Excelでの検索結果を含む行だけを表示させたい 5 2023/03/10 17:08
- Excel(エクセル) 列を自動で追加したい 3 2022/07/11 12:58
- その他(Microsoft Office) EXCEL VLOOKUPに関する質問 5 2023/02/08 11:38
- Chrome(クローム) 下に出てくるリストを消したい。 2 2022/06/17 16:47
- Android Android、Webページの文字列検索はできない? 3 2022/05/29 11:02
- その他(コンピューター・テクノロジー) 正規表現の置換で一部の文字列をそのまま残したい 2 2022/05/03 19:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel2007で正規表現置き換え
-
[正規表現] 数字範囲をヒット...
-
正規表現で
-
PS4コントローラーをPCでゲーム...
-
Chr(13)とChr(10)の違いは?
-
エクセルでアルファベットか数...
-
wordで均等割り付けをするとき...
-
Word 途中で勝手に改行してしま...
-
EXCELで=より左の文字を一括で...
-
4Kの外部モニターに出力すると...
-
Googleスプレッドシートでワイ...
-
EBCDIC⇒SJIS変換の方法
-
VBA フォームのテキストボック...
-
プログラムについての質問です...
-
VBAでの Replace関数で、ワイル...
-
エクセル
-
濁点(゙) 半濁点(゚)を一文字と数...
-
セル内の文字列が日本語か英語...
-
文字列からタブコードを取り除...
-
PDFの改行URLを有効にす...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正規表現 秀丸エディタ 行頭か...
-
メールアドレスの正規表現について
-
正規表現でAND検索はできる...
-
第二水準漢字が含まれるか?
-
[VBS] テキストファイルから任...
-
正規表現でシングルクォーテー...
-
正規表現でカウントアップ(?)す...
-
VB2005で、正規表現を使いたい
-
正規表現です。括弧内にある複...
-
文章中全ての半角カッコ ( の...
-
文字列検索(grepのようなもの)...
-
grepの正規表現での最短マッチ...
-
sedで正規表現の後方参照を使い...
-
XMLファイルある内に書式につい...
-
perl でこのマッチは失敗します...
-
VB.NET で正規表現を使用した検...
-
正規表現で大文字小文字指定に...
-
grepにマッチした正規表現の文...
-
正規表現で( , -, ] を表すと。
-
正規表現の逆?
おすすめ情報