【发布时间】:2012-12-31 05:10:44
【问题描述】:
所以我今天有一个名为“nick_george_james”的字符串 看起来像这样
string today = "_nick__george__james_";
如何将'_'之间的文本隔离成一个新字符串?我想把这 3 个名字分成单独的字符串,这样最后我就有了 name1、name2、name3 的值 nick、george 和 james
我的应用程序是用 c# 编写的
【问题讨论】:
所以我今天有一个名为“nick_george_james”的字符串 看起来像这样
string today = "_nick__george__james_";
如何将'_'之间的文本隔离成一个新字符串?我想把这 3 个名字分成单独的字符串,这样最后我就有了 name1、name2、name3 的值 nick、george 和 james
我的应用程序是用 c# 编写的
【问题讨论】:
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[] array = today.Split('_');
name1=array[0];
name2=array[1];
name3=array[2];
【讨论】:
想到了除 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[] nameArray = today.Split('_');
在这里,您将获得一组名称。您可以通过指定 nameArray 的索引位置来获取每个名称。
ie 现在 nameArray 包含如下值
nameArray[0] = "nick", nameArray[1] = "george", nameArray[2] = "james"
【讨论】: