首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C#中的最后一个逗号之前删除字符串的所有内容?

如何在C#中的最后一个逗号之前删除字符串的所有内容?
EN

Stack Overflow用户
提问于 2020-09-02 18:06:07
回答 3查看 269关注 0票数 0

所以我需要删除所有的字符串直到最后一个逗号..。(我从一个文件中读取字符串,其中我不知道有多少逗号。)我试过使用.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►的输出

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-09-02 18:12:28

您想要的输出("object")与您的描述不匹配-要获得它,您需要在第一次出现, (包括它)之后删除所有内容。例如,如果保证在字符串中包含,,则可以使用String.SubstringString.IndexOf

代码语言:javascript
复制
var s = "object,1,4, 6,9-6, whg,19";
Console.WriteLine(s.Substring(0, s.IndexOf(','))); // prints "object"

如果您想获得最后一个逗号之后的所有内容,可以使用String.LastIndexOf

代码语言:javascript
复制
Console.WriteLine(s.Substring(s.LastIndexOf(',') + 1)); // prints "19"
票数 2
EN

Stack Overflow用户

发布于 2020-09-02 18:09:27

如果您想要的只是'object‘,为什么不按’拆分‘,然后在索引0处调用数组,如下所示:

代码语言:javascript
复制
    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

票数 0
EN

Stack Overflow用户

发布于 2020-09-02 18:53:19

你说“最后”逗号是什么意思?还有“直到”?你的例子不符合你的措辞。你是说“不含逗号的最长前缀”吗?

然后你可以使用s[..s.IndexOf(',')];

或者更安全,s[..((s.IndexOf(',') is int i && i < 0) ? s.Length : i)];

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63711252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档