我想知道是否可以使用split将字符串分成几个用逗号分隔的部分,如下所示:
10,12-JUL-16,11,0
我只想要第二部分,12-JUL-16字符串而不是其余部分?
答案 0 :(得分:22)
是:
var result = str.Split(',')[1];
OR:
var result = str.Split(',').Skip(1).FirstOrDefault();
OR(更好的表现 - 只占分割的前三部分):
var result = str.Split(new []{ ',' }, 3).Skip(1).FirstOrDefault();
答案 1 :(得分:4)
如果您不确定是否有第二项,请使用LINQ的Skip()
和First()
或FirstOrDefault()
:
string s = "10,12-JUL-16,11,0";
string second = s.Split(',').Skip(1).First();
或者,如果您完全确定有第二项,则可以使用数组访问器:
string second = s.Split(',')[1];
答案 2 :(得分:4)
您可以使用String.Split
,它有一个重载方法,可以接受最多的分割。
var input = "10,12-JUL-16,11,0"; // input string.
input.Split(new char[]{','},3)[1]
检查Demo
答案 3 :(得分:3)
是的,你可以:
string[] parts = str.Split(',');
然后你的第二部分在parts[1]
。
或:
string secondPart = str.Split(',')[1];
或与Linq:
string secondPart = str.Split(',').Skip(1).FirstOrDefault();
if (secondPart != null)
{
...
}
else
{
...
}
此外,您不仅可以使用一个符号进行字符串拆分,即:
string secondPart = str.Split(new[] {',', '.', ';'})[1];
答案 4 :(得分:3)
这是其他方式已经提及的方式。
string input = "10,12-JUL-16,11,0";
string[] parts = input.Split(',');
Console.WriteLine(parts[1]);
输出:
12-JUL-16