拆分字符串并仅获取第二个值

本文关键字:获取 第二个 串并 字符 字符串 拆分 | 更新日期: 2023-09-27 17:57:52

我想知道是否可以使用split将字符串分成几个用逗号分隔的部分,比如:

10,12-JUL-16,11,0

我只想要第二部分,16年7月12日的弦乐,而不是剩下的?

拆分字符串并仅获取第二个值

是:

var result = str.Split(',')[1];

或:

var result = str.Split(',').Skip(1).FirstOrDefault();

OR(更好的性能-只需要拆分的前三部分):

var result = str.Split(new []{ ',' }, 3).Skip(1).FirstOrDefault();

如果您不确定是否还有第二个项目:,请使用LINQ的Skip()First()FirstOrDefault()

string s = "10,12-JUL-16,11,0";
string second = s.Split(',').Skip(1).First();

或者,如果你绝对确定还有第二个项目,你可以使用数组访问器:

string second = s.Split(',')[1];

是的,您可以:

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];

您可以使用String.Split,它有一个重载方法,可以接受最大数量的拆分。

var input = "10,12-JUL-16,11,0"; // input string.
input.Split(new char[]{','},3)[1]

检查Demo

以下是其他人已经提到的方法。

string input = "10,12-JUL-16,11,0";
string[] parts = input.Split(',');
Console.WriteLine(parts[1]);

输出:

12-JUL-16

演示