【问题标题】:Removing any single letter on a string in python在python中删除字符串上的任何单个字母
【发布时间】:2015-12-18 18:53:34
【问题描述】:

我想从 python 中的字符串中删除任何单个字母。

例如:

input: 'z 23rwqw a 34qf34 h 343fsdfd'
output: '23rwqw 34qf34 343fsdfd'

一直试图用正则表达式弄清楚一段时间但没有成功。我知道如何将某些字符/符号中的东西分成两部分,但不是我想要做的。

我一直在修改

re.sub(r'^[^ ]*', '', text)

【问题讨论】:

    标签: regex string python-2.7 text


    【解决方案1】:
    >>> ' '.join( [w for w in input.split() if len(w)>1] )
    '23rwqw 34qf34 343fsdfd'
    

    【讨论】:

      【解决方案2】:

      我希望有比这更简洁的正则表达式方式,但是:

      >>> import re
      >>> text = 'z 23rwqw a 34qf34 h 343fsdfd'
      
      >>> re.sub('(\\b[A-Za-z] \\b|\\b [A-Za-z]\\b)', '', text)
      '23rwqw 34qf34 343fsdfd'
      

      它是单词边界、单个字母、空格和单词边界。 它是加倍的,因此它可以匹配字符串开头或结尾的单个字符 z__z 不留空格,而中间的字符 _z_ 留一个空格。

      【讨论】:

        【解决方案3】:
        import re
        text = "z 23rwqw a 34qf34 h 343fsdfd"
        print re.sub(r'(?:^| )\w(?:$| )', ' ', text).strip()
        

        tmp = re.sub(r'\b\w\b', ' ', input)
        print re.sub(r'\s{2,}', ' ', tmp).strip()
        

        【讨论】:

          【解决方案4】:

          我遇到了类似的问题,并想出了以下正则表达式解决方案:

          import re
          pattern = r"((?<=^)|(?<= )).((?=$)|(?= ))"
          text = "z 23rwqw a 34qf34 h 343fsdfd"
          print(re.sub("\s+", " ", re.sub(pattern, '', text).strip()))
          #23rwqw 34qf34 343fsdfd
          

          说明

          • (?&lt;=^)(?&lt;= ) 分别是字符串和空格开头的后视。使用|(或)匹配这些条件之一。
          • . 匹配任何单个字符
          • ((?=$)|(?= )) 类似于第一个要点,不同之处在于它是对字符串结尾或空格的前瞻。

          最后调用re.sub("\s+", " ", my_string)将多个空格压缩成一个空格。

          【讨论】:

            【解决方案5】:

            试试这个;

            (?<![\w])(?:[a-zA-Z0-9](?: |$))
            

            【讨论】:

            • 正则表达式对于许多初学者来说是一个难以破解的难题。如果您能解释一下您的正则表达式字符串究竟是如何工作的,那就太好了,以便 OP 和其他开发人员可以向您学习
            猜你喜欢
            • 1970-01-01
            • 2021-06-05
            • 2014-07-30
            • 2022-11-19
            • 2022-10-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多