だから私は今日と呼ばれる値 " nick _george_ james "を持つ文字列を持っています。
string today = "_nick__george__james_";
「_」の間のテキストを新しい文字列に分離するにはどうすればよいですか? 最終的に name1、name2、name3 の値が nick、george、james になるように、3 つの名前を別々の文字列に取得したい
私のアプリケーションは c# で書かれています
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";
string[] nameArray = today.Split('_');
ここでは、名前の配列を取得します。nameArrayのインデックス位置を指定することにより、から各名前を取得できます。
つまり、nameArrayには次のような値が含まれています
nameArray [0] = "nick"、nameArray [1] = "george"、nameArray [2] = "james"
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メソッドを好むでしょう。
string[] array = today.Split('_');
name1=array[0];
name2=array[1];
name3=array[2];