• 締切済み

C#でのワイルドカードを使った文字検索

開発初心者です。 文字検索をワイルドカードを使って行いたいと考えています。 例えば、 string x = "ABCDEFGHI" という文字列があったとして 「C***G」という文字列(***はワイルドカード)を検索したいとき、 x.IndexOf(C***G)=2のような結果を出力できるような検索方法を探しています。 ご存知の方がいれば、ご教授宜しくお願いします。

みんなの回答

回答No.1

ワイルドカードとは違いますが,正規表現を使えばよいのではないでしょうか。 var reegx = new Regex("C.*G"); // 正規表現が固定ならば,staticメンバ化してRegexOptions.Compliedつけるのも案の一つ。 foreach (Match match in regex.Matches(x)) { Console.WriteLine("Index = {0}, Length = {1}, Value = {2}", match.Index, match.Length, match.Value); }

関連するQ&A

  • C#における改行を含む文字の探索

    開発初心者です。 HTML上の改行を含む文字列をC#の 「 IndexOf 」 関数で探索するとき どのようにすれば良いのでしょうか? IndexOf(<font size=\"-1\">\n) では成功しませんでした。 ご存知の方がいたら、ご教授ください。

  • C#における文字「”」の使い方

    開発初心者です。 文字列での「”」の使い方が分かりません。 string start_point2_1 = "<font size="-1">"; 以上のようなコーディングをすると 「;が必要です。」とエラーメッセージが表示されます。 ""を消さずにコンパイルする方法をご存知の方がいらっしゃれば 御教授宜しくお願いします。

  • 文字列の検索

    教えてください。 例えば、「今日は、良い天気です。」と言う文字列が あったとします。 その文字列のなかに、「天気」と言う言葉が含まれて いるかどうかのチェックをしたいのですが、どのように すれば、よいでしょうか? がんばって考えてみたのですが、Stringクラスの indexOf(\"天気\")のようにして、マイナス(-1)が 返ってくれば、天気と言う文字が含まれていると 言うやり方でいいのでしょうか? あってるのかどうか、わからなくて困ってます。 他のやり方でされてる方がいらっしゃれば、ご教示 ください。お願いします。

    • ベストアンサー
    • Java
  • 一行に特定の文字列がいくつあるかを調べたい。

    のですが、悩んでいます。 String型に入っている文字列の中に 例えば"日本"という文字列が何個入っているかを しらべたいのですが、Stringクラスのメソッド をみたのですが、indexOfくらいしか思いつきません。 しかしindexOfでは、その文字列が格納してある 場所を返すだけなので、できません。 何か良い方法はないでしょうか?

    • ベストアンサー
    • Java
  • 【C言語教えて下さい!】文字検索

    引数として、複数の文字列を格納した配列、その文字列数、あるいは文字列aを与え、aが複数の文字列を格納した配列中に見つかれば1を返し、見つからなければ0を返す関数find_string()をつくりたいのですがよくわかりません。 どなたかご教授お願いします。 ヒントや考え方など教えて下さい。

  • [C@3331394などの文字列

    Stringを表示させようとして[C@3331394などという文字列("[C@"以下の数字は毎回変わります。)が意図せず出てきてしまい、困っています。これはメモリ番地とかでしょうか?どなたかこのような文字列を見かけたことのあるかた、教えてください。 ちなみにezplusのエミュにてauアプリを開発しています。 http通信をしてサーバから文字列を取ってきて、それを表示する練習用のプログラムを書いてまして、その文字列が問題の文字列になってしまいます。 エミュでも、携帯実機でも出てきてしまいます。

    • ベストアンサー
    • Java
  • javaの文字列検索について

    javaの文字列検索について教えて頂きたいです。 例で説明します。 String a = "a bc dd ef"; String b = "abcd"; String c = "xxx"; 上記のよう、aは空白がはいている文字列です。 bの内容をaの中に存在しているか(空白無視)を検索して、存在している場合はあたりの部分をcに置換する処理を作りたいです。 上記の例の場合、期待の結果は"xxxd ef"になります。 空白無視して検索、置換する方法が分からないので、教えて頂いてよろしいですか?

    • ベストアンサー
    • Java
  • 文字列検索&分解の方法に関して

    C言語初心者です。 現在、文字列の検索&分解のプログラムを作成しようとしているのですが、なかなかうまくいきません。 やりたいことは、カンマくぐりのCSV形式の文字列をカンマ毎に分解して出力させたいのです。 (例) 入力データ:"TEST1,TEST2,,TEST3" 出力結果: No1:TEST1 No2:TEST2 No3: No4:TEST3 カンマをstrchrにて検索したりしてはみましたが、うまく出力されないといった感じであります。 大変申し訳ございませんが、方法・ヒントを頂けるとうれしいです。 どうかよろしくお願いいたします。

  • 任意の文字列を検索して文字を追加する。

    マクロについてご質問します。 宜しくお願い致します。 <質問> A列…すべてのデータが入っています。 B列…検索したいデータが入っています。 C列…検索結果のデータを出力します。 過去に教わったIF関数を使用した「=IF(ISNA(MATCHを組み合わせた式)」方法ですとA列の文字とB列の文字が一致しているものは そのままC列に表示で、B列に含まれないA列の文字はC列に"その他"として出力することができました。 今回は、A列の文字とB列の文字が一致している場合は C列に文字を加え、A列B列ともに一致していない場合は そのままの表示を行いたいのですがどなたかご助言していただけると助かります。 A列   B列  C列 ------------------------ 赤   白   赤   白   緑   白組 黄       黄 緑       緑組 青       青 IF関数で行うことは可能なのでしょうか? 宜しくお願い致します。

  • 文字列の加算

    OS  :WindowsXP Pro SP1 開発環境:VisualStudio .NET 2003 開発言語:C# 開発形態:Windowsアプリケーション プログラミング初心者です。どうかよろしくお願い致します。 現在、あるアプリケーションを作成しております。 その中で、数値の入った文字列を受け取り、それを全て加算しようとしております。 例えば、 引数の文字列が"123456789"だとしたら、そのメソッド内で1+2+3+4+5+6+7+8+9を計算し、答えを返却値とする。 私は文字列をint型にキャストして計算しようと思ったのですが、うまくキャストできません。string型はint型にキャストできないのでしょうか? また他に文字列の数値の加算をする方法がありましたら、どなたかご教授お願い致します。

専門家に質問してみよう