-1

だから私は今日と呼ばれる値 " nick _george_ james "を持つ文字列を持っています。

string today = "_nick__george__james_";

「_」の間のテキストを新しい文字列に分離するにはどうすればよいですか? 最終的に name1、name2、name3 の値が nick、george、james になるように、3 つの名前を別々の文字列に取得したい

私のアプリケーションは c# で書かれています

4

4 に答える 4

6

string.Splitを使用

string[] array = today.Split('_');

質問を編集した後、文字列に複数あることに気付きました_。次のことを試してみてください。

string[] array = today.Split("_".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

または

string[] array = today.Split(new []{"_"}, StringSplitOptions.RemoveEmptyEntries);

後で、次の内容arrayが含まれます。

array[0] = "nick";
array[1] = "george";
array[2] = "james";
于 2012-12-31T05:11:47.793 に答える
0
string[] nameArray = today.Split('_');

ここでは、名前の配列を取得します。nameArrayのインデックス位置を指定することにより、から各名前を取得できます。

つまり、nameArrayには次のような値が含まれています

nameArray [0] = "nick"、nameArray [1] = "george"、nameArray [2] = "james"

于 2012-12-31T05:21:03.933 に答える
0

string.Split 以外のアイデアを思いついた。

string today = "_nick__george__james_";

//Change value nNoofwordstobeFound  accordingly

int nNoofwordstobeFound = 3;
int nstartindex = 0;
int nEndindex = 0;
int i=1;
while (i <= nNoofwordstobeFound)
{
    Skip:
    nstartindex = today.IndexOf("_",nEndindex);
    nEndindex = today.IndexOf("_", nstartindex + 1);

    string sName = today.Substring(nstartindex + 1, nEndindex - (nstartindex + 1));
    if (sName == "")
    {
        goto Skip;
    }
    else
    {
        //Do your code
        //For example                 
        string abc=  sName;    
    }

    i++;
}

私はまだこれよりもstring.splitメソッドを好むでしょう。

于 2012-12-31T07:38:13.213 に答える
0
string[] array = today.Split('_');
name1=array[0];
name2=array[1];
name3=array[2];
于 2012-12-31T05:14:49.693 に答える