从字符串中删除第一个点号之前的所有内容?

6

我应该如何在字符串中删除第一个(点).之前的所有内容?

例如:

3042. Item name 3042.

我想要移除3042。

这样字符串就变成:

Item name 3042.

1
你尝试过找到点出现的位置并切掉前面的部分吗? - Jon
4个回答

14

请看String.SubstringString.IndexOf方法。

var input = "3042. Item name 3042.";
var output = input.Substring(input.IndexOf(".") + 1).Trim();

请注意,对于不包含点号的输入也是安全的。


4
string str = "3042. Item name 3042.";
str = str.Substring(str.IndexOf('.') + 1);

使用string.Indexof方法获取第一个.的位置,然后使用string.Substring方法获取字符串的剩余部分。

你的代码的结果是. 物品名称 3042.而不是物品名称 3042. - Daniel Hilgarth

3
您想要删除点号之前的所有内容,包括点号本身:
String str = "3042. Item name 3042.";
String result = str.Substring(str.IndexOf(".") + 1 ).TrimStart();

String.Substring 方法 (Int32)

(请注意,我已使用 TrimStart 去除了空格,因为您的问题建议这样做)


2

仅供娱乐,这是一种稍微不同的做法。删除第一个句点及其之前的内容。

var testStr = @"3042. Item name 3042.";
var dotSplit = testStr.Split(new[]{'.'},2);
var results = dotSplit[1];

1
你的意思是 testStr.Split('.', 2); 吗? - Michal Klouda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接