【发布时间】:2016-02-06 12:31:23
【问题描述】:
我需要在第一次出现空格之前删除字符串中的所有内容。
- 每个字符串都以数字开头,后跟一个空格
- 替换数字和空格,从而使字符串的其余部分保持完整
例如:
22 印度的猫
4 殿下
562 吃土豆
第二个冰箱里有 42 块饼干
2564 尼亚加拉大瀑布下午 2 点
我只需要:
印度的猫
王子殿下
吃土豆
第二个冰箱里的饼干
下午 2 点的尼亚加拉大瀑布
基本上去掉第一个空格前的每个数字,包括第一个空格。
我试过了:
foreach (string line in lines)
{
string newline = line.Trim().Remove(0, line.IndexOf(' ') + 1);
}
这适用于 10 以下的数字。在达到 2 位数字后,它就不能正常工作了。
我应该如何更改我的代码?
【问题讨论】:
-
地球人,很多人已经回答了你最初的问题。您现在评论了一个附加问题。这不是 SO 的工作方式。如果您还有其他问题,请打开另一个问题。
-
别忘了给那些有帮助的人点赞。
-
如果已知输入采用上述格式,则在这种情况下使用正则表达式是,IMO,矫枉过正:
string.Concat(str.TrimStart().SkipWhile(char.IsNumber).Skip(1))。每次必须更改此代码时,问问自己是否想在 Google 上搜索\p{Zs}的含义...