所以我需要删除所有的字符串直到最后一个逗号..。(我从一个文件中读取字符串,其中我不知道有多少逗号。)我试过使用.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►的输出
发布于 2020-09-02 18:12:28
您想要的输出("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"发布于 2020-09-02 18:09:27
如果您想要的只是'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
发布于 2020-09-02 18:53:19
你说“最后”逗号是什么意思?还有“直到”?你的例子不符合你的措辞。你是说“不含逗号的最长前缀”吗?
然后你可以使用s[..s.IndexOf(',')];
或者更安全,s[..((s.IndexOf(',') is int i && i < 0) ? s.Length : i)];
https://stackoverflow.com/questions/63711252
复制相似问题