【问题标题】:How to remove line if doesn't contain letter in python如果python中不包含字母,如何删除行
【发布时间】:2022-01-01 00:20:43
【问题描述】:

如果不包含任何字母,我想从字符串中删除行,如果包含字母或数字则通过。我试图通过在 python 中使用 RegEx 来解决这个问题,但无法删除行。 例子

string='''हिरासत में ली गई महिला 36 वर्षीय नूर सजात कमरुज़्ज़मा थीं
          British High Commissioner Greets
          
          पत्ता आंबेडकर चौक, निमशीरगाव,
          निमिशरगाव, निरमशिरगाव, कोल्हापूर, NIMSHIRGAON, Nimshirgaon,
          Address: ambedkar chowk,
          महाराष्ट्र, 416101
          Nimshirgaon, Kolhapur, Maharashtra,
          416101
          1832
          1947'''

我想要的输出

output=  '''British High Commissioner Greets
           Address: ambedkar chowk,
           Nimshirgaon, Kolhapur, Maharashtra,
           416101
           1832
           1947'''

请帮帮我!!!

【问题讨论】:

  • 您已经发布了输入和输出,但似乎忘记发布您的代码

标签: python python-3.x pandas string data-structures


【解决方案1】:

给你。无论哪一行不遵循模式(您可以根据需要在模式中添加更多字符),它都不会附加到输出中。

我想这会解决你的问题。

import re

pattern = re.compile("[a-zA-Z0-9!@#$&()\\-`.+,/\"]+")

multilinestring = '''हिरासत में ली गई महिला 36 वर्षीय नूर सजात कमरुज़्ज़मा थीं
British High Commissioner Greets        
पत्ता आंबेडकर चौक, निमशीरगाव,
निमिशरगाव, निरमशिरगाव, कोल्हापूर, NIMSHIRGAON, Nimshirgaon,
Address: ambedkar chowk,
महाराष्ट्र, 416101
Nimshirgaon, Kolhapur, Maharashtra,
416101
1832
1947'''

split_list = multilinestring.splitlines()
output_list = []
for word in split_list:
    if pattern.match(word):
        output_list.append(word)

print(*output_list, sep = "\n")

最后一行将列表中的每个字符串打印在单独的行上。 这是输出:

British High Commissioner Greets        
Address: ambedkar chowk,
Nimshirgaon, Kolhapur, Maharashtra,
416101
1832
1947

【讨论】:

    【解决方案2】:

    您可以使用带有正则表达式的简单理解来仅匹配带有 ascii 字符的行:

    import re
    out = '\n'.join(s for s in string.split('\n') if re.match(r'^[\x00-\x7F]+$', s))
    print(out)
    

    输出:

              British High Commissioner Greets
              
              Address: ambedkar chowk,
              Nimshirgaon, Kolhapur, Maharashtra,
              416101
              1832
              1947
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-09
      • 1970-01-01
      • 2022-01-03
      • 2019-06-07
      • 1970-01-01
      相关资源
      最近更新 更多