所以我需要删除字符串的所有内容,直到最后一个逗号。。。(我正在从一个不知道有多少逗号的文件中读取字符串。(我试过使用.Trim/.TrimEnd,但两者都没有达到我想要的效果。
下面是一个看起来有点像的例子:string example = object,1,4, 6,9-6, whg,19;
我试图获取的字符串:object
所以修剪应该忽略所有东西,直到最后一个逗号。
我尝试过的:
string exampleTrimmed = example.TrimEnd(',');
输出►object,1,4, 6,9-6, whg19
string exampleTrimmed = example.Trim(',');
输出(不确定(►object14 69-6 whg19
您想要的输出("object"
(与您的描述不匹配-要获得它,您需要在第一次出现,
之后剥离所有内容(包括它(。例如,如果您保证字符串中有,
,则可以使用String.Substring
和String.IndexOf
:
var s = "object,1,4, 6,9-6, whg,19";
Console.WriteLine(s.Substring(0, s.IndexOf(','))); // prints "object"
如果你想得到最后一个逗号后的所有内容,你可以使用String.LastIndexOf
:
Console.WriteLine(s.Substring(s.LastIndexOf(',') + 1)); // prints "19"
如果你想要的只是"object",为什么不用","分割,然后像这样调用索引0处的数组:
string example = "object,1,4, 6,9-6, whg,19";
string[] parsed = example.Split(',');
Console.WriteLine(parsed[0]);
输出:object
编辑:您说"所需字符串:object
",但也说要忽略所有内容,直到最后一个逗号。
执行以上操作但使用此操作:Console.WriteLine(parsed[parsed.Length-1]);
输出19
你说的"最后一个";逗号并且通过";直到";?你的例子与你的措辞不符。你的意思是";不包含逗号的最长前缀";?
然后你可以使用s[..s.IndexOf(',')];
或者为了更安全,s[..((s.IndexOf(',') is int i && i < 0) ? s.Length : i)];