C# 4.0 如何用逗号分隔部分字符串?
我有一个字符串:C# 4.0 如何用逗号分隔部分字符串?,c#-4.0,C# 4.0,我有一个字符串: string mystring="part1, part2, part3, part4, part5"; 如何返回前3个元素而不首先将它们拆分? 所以像这样: string newstring="part1, part2, part3"; 您可以使用以下方法获得前三个: 正则表达式r=新正则表达式(@“(\S+,\S+,\S+,\S+,\S+,\S+) 我确信有更好的方法来编写正则表达式,但我认为基本输入就可以了。尝试查找第三个逗号的索引,然后获取子字符串 范例 void
string mystring="part1, part2, part3, part4, part5";
如何返回前3个元素而不首先将它们拆分?
所以像这样:
string newstring="part1, part2, part3";
您可以使用以下方法获得前三个: 正则表达式r=新正则表达式(@“(\S+,\S+,\S+,\S+,\S+,\S+)
我确信有更好的方法来编写正则表达式,但我认为基本输入就可以了。尝试查找第三个逗号的索引,然后获取子字符串 范例
void Main()
{
string mystring="part1, part2, part3, part4, part5";
int thirdCommaIndex = IndexOf(mystring, ',', 3);
var substring = mystring.Substring(0,thirdCommaIndex-1);
Console.WriteLine(substring);
}
int IndexOf(string s, char c, int n)
{
int index = 0;
int count = 0;
foreach(char ch in s)
{
index++;
if (ch == c)
count++;
if (count == n )
break;
}
if (count == 0) index = -1;
return index;
}
这将解析试图找到第三个逗号的字符串,并将其和后面的所有内容丢弃
string mystring = "part1, part2, part3, part4, part5";
UInt16 CommasFound = 0;
UInt16 Location = 0;
for (Location = 0; (CommasFound < 3) &&
(Location < mystring.Count()); Location++)
if (mystring[Location].Equals(','))
CommasFound++;
if (CommasFound == 3)
{
string newstring = mystring.Substring(0, Location-1);
}
else { // Handle the case where there isn't a third item
}
string mystring=“part1、part2、part3、part4、part5”;
UInt16 CommasFound=0;
UInt16位置=0;
对于(位置=0;(逗号小于3)和
(Location
此数据的结构如何?你知道数据中是否会有逗号之类的东西吗?引用?换行等?