0

私は本当に初心者です、私はすでに知っています

string.indexOf("");

単語全体を検索できますが、検索しようとするとe.g: ig out of pig, it doesn't work

私はここに同様の文字列を持っています(の一部):

<Special!>The moon is crashing to the Earth!</Special!>

ファイルにこれらがたくさんあり、すべてを編集して次のようなスペースを追加することはできません。

< Special! > The moon is crashing to the Earth! </ Special! > 

sub-stringスペシャルのを取得する必要があります!そして月は地球に衝突しています!のようなプラグインを追加せずに単語の一部を検索する簡単な方法は何HTMLAgilityPackですか?

4

4 に答える 4

1

IndexOfは機能しますが、おそらく不適切に使用しているだけです。

文字列が変数呼び出しmystringにある場合は、mystring.IndexOfと言ってから、探している文字列を渡します。

string mystring = "somestring";
int position = mystring.IndexOf("st");
于 2013-01-20T01:37:37.290 に答える
0

これを試してください:

string s = "<Special!>The moon is crashing to the Earth!</Special!>";
int whereMyStringStarts = s.IndexOf("moon is crashing"); 

IndexOfスペースでも機能するはずですが、スペースではなく、new lineまたはtab文字を使用している可能性がありますか?

大文字と小文字の区別が重要な場合があります。と呼ばれる追加のパラメータで制御できますcomparisonType。例:

 int whereMyStringStarts = s.IndexOf("Special", StringComparison.OrdinalIgnoreCase);

詳細については、MSDNのString.IndexOfメソッドをIndexOf参照してください。

とにかく、より良いパーサーを作成するには正規表現が必要かもしれないと思います。IndexOfは非常に原始的なメソッドであり、コードの大きな混乱に陥る可能性があります。

于 2013-01-20T01:46:22.330 に答える
0

どのように使用していますか?次のように使用する必要があります。

string test = "pig";
int result = test.IndexOf("ig");
// result = 1

大文字と小文字を区別しないようにする場合

string test = "PIG";
int result = test.IndexOf("ig", StringComparison.InvariantCultureIgnoreCase);
// result = 1
于 2013-01-20T01:37:29.473 に答える
0
   string page = "<Special!>The moon is crashing to the Earth!</Special!>";
        if (page.Contains("</Special!>"))
        {
            pos = page.IndexOf("<Special!>");
            propertyAddress = page.Substring(10, page.IndexOf("</Special!>")-11);
            //i used 10 because <special!> is 10 chars, i used 11 because </special!> is 11
        }

これはあなたに「月が地球に衝突している!」を与えるでしょう。

于 2013-01-20T01:50:38.963 に答える