0

のような文字列の配列があり、{"ABC_DEF_GHIJ", "XYZ_UVW_RST", ...}配列に部分的に一致する文字列が含まれているかどうかを検索したいと考えています"ABC_DEF"。インデックス (0) または文字列自体 ("ABC_DEF_GHIJ") を返す必要があります。私は試した:

int index = Array.IndexOf(saGroups, "ABC_DEF");

しかし、それは -1 を返します。

4

4 に答える 4

1

これを試して:

string[] strArray = { "ABC_DEF_GHIJ", "XYZ_UVW_RST" };
string SearchThisString = "ABC_DEF";
int strNumber;
int i = 0;
for (strNumber = 0; strNumber < strArray.Length; strNumber++)
{
    i = strArray[strNumber].IndexOf(SearchThisString);
    if (i >= 0)
      break;
}
Console.WriteLine("String number: {0}",strNumber);
于 2013-04-26T20:47:29.747 に答える
0

文字列配列をループして、IndexOf検索する文字列が含まれているかどうかをメソッドですべての要素を確認するだけです。IndexOf文字列以外の値を返す場合は-1、現在の要素で見つかり、そのインデックスを返すことができます。配列のどの要素にも検索する文字列が見つからない場合は、-1 を返します。

static int SearchPartial(string[] strings, string searchFor) {
    for(int i=0; i<strings.Length; i++) {
        if(strings[i].IndexOf(searchFor) != -1)
            return i;
    }
    return -1;
}

デモについては、https://ideone.com/vwOERDを参照してください

于 2013-04-26T20:12:45.307 に答える