所以我有一个名为today的字符串,其值为“ nick _george_ james ” 看起来像这样
string today = "_nick__george__james_";
如何将'_'之间的文字隔离成新的字符串?我想将3个名字分成单独的字符串,以便最后我有name1,name2,name3,其值为nick,george和james
我的申请是用c#编写的
答案 0 :(得分:6)
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";
答案 1 :(得分:0)
string[] array = today.Split('_');
name1=array[0];
name2=array[1];
name3=array[2];
答案 2 :(得分:0)
string[] nameArray = today.Split('_');
在这里,您将获得一系列名称。您可以通过指定nameArray的索引位置来获取每个名称。
即现在nameArray包含如下的值
nameArray [0] =“nick”,nameArray [1] =“george”,nameArray [2] =“james”
答案 3 :(得分: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方法。