.Net - 从字符串中移除字符到第一个大写字母

时间:2016-05-18 05:34:03

标签: regex string linq char uppercase

如何从字符串中删除字符到第一个大写字符?

例如

字符串1 :101; #Kristina Johnson - >我只想要 Kristina Johnson

字符串2 :77; #George Menson --->我只想要 George Menson

怎么做?

3 个答案:

答案 0 :(得分:3)

试试这个

var result = new String(s.SkipWhile(p => !Char.IsUpper(p)).ToArray());

其中sstring s = "101;#Kristina Johnson";

因此输出将为Kristina Johnson

答案 1 :(得分:2)

要删除字符串的开头直到第一个大写字母,请使用像

这样的正则表达式
Regex.Replace(str, @"^\P{Lu}+", "")

模式意味着:

  • ^ - 字符串开始
  • \P{Lu}+ - 除大写字母以外的一个或多个字符。

答案 2 :(得分:1)

试试这个.*?([A-Z].*)正则表达式并替换为$ 0(或$ 1,我不确定该正则表达式实现),或者只是获取该字符串中的第一个匹配项。
.*?将所有字​​符添加到第一个大写字母(匹配所有内容,但尽可能少) ([A-Z].*)是捕获组,以第一个大写字符开头。

Try this here