正则表达式替换为空字符串

时间:2012-10-12 08:01:27

标签: c# regex

我需要一个跟随

的正则表达式
  1. 匹配起始行中第一个单词的第一个字母是否在 小写。
  2. 从包含上述字母的单词开始,替换为空 字符串直到出现以大写字母开头的单词
  3. 这就是我的尝试:

    string result = Regex.Replace(input,@"^[a-z]\s?[a-z0-9]\s?[^A-Z]","");
    

    这是应该发生的事情:

      

    示例输入=“!jgf区域。国家的财富”

         

    所需产出=“国家财富”

    我该怎么做才能改善/纠正?

3 个答案:

答案 0 :(得分:4)

你可以这样做:

string result = Regex.Replace(input,@"^[^A-Z]*","");

答案 1 :(得分:1)

这种模式就足够了。

^[^A-Z]+

它将替换所有不是大写字母的字符

顺便说一句,在C#中没有RegEx的情况下,快得多

int index=str.indexOfAny(new char[] { 'A', 'B', ..., 'Z'})
if(index!=-1){
    str = str.Substring(index);
}

答案 2 :(得分:1)

" ([A-Z]+.*)"

使用群组,Gruops [1]是您想要的