【问题标题】:Delete words with capital letters删除带有大写字母的单词
【发布时间】:2011-12-08 14:59:53
【问题描述】:

我正在尝试删除所有以大写字母开头的单词,但下面只是从第一个单词中捕获“Al”:

echo "Always baby Yeah" | sed -r 's/^([AEIOU].)//g'

如何捕获所有以大写字母开头的单词?

【问题讨论】:

    标签: bash sed


    【解决方案1】:

    您只删除前两个字符,并且仅当它们位于字符串的开头时。

    如果您也想删除空格,请使用:sed -r 's/\b[A-Z]\w*//g''s/\b[A-Z]\w*\s*//g'

    【讨论】:

      【解决方案2】:

      下面的正则表达式应该对你有帮助

      m/(^[A-Z]\w*)/
      

      【讨论】:

      • 不,这将删除(从)大写字母之后的 everthing
      【解决方案3】:

      这个正则表达式应该可以工作\b[A-Z](\w*)\b

      [jaypal:~/Temp] echo "Always baby Yeah" | sed -r 's/\b[A-Z](\w*)\b//g'
       baby 
      

      【讨论】:

        猜你喜欢
        • 2019-03-04
        • 2015-07-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-23
        • 2014-11-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多