簡體   English   中英

如何在不連接單詞的情況下從 Python 中的字符串中刪除除空格之外的所有非字母字符

[英]How remove all non-alphabet chars excluding white space from string in Python without joining the words

我有一個名為 para 的變量,我想刪除除空白字符之外的所有非字母字符。 對於以下輸入:

para = "I a, going #?5 1throu$gh Lots Of ]pain
        kcb H in"

所需的輸出

para =  "I a going through Lots Of pain
        kcb H in"

代碼嘗試

import re
regex = re.compile('[^a-zA-Z]')
regex.sub('', para)

輸出獲取

'IagoingthroughLotsOfpain'
import re
regex = re.compile('[^a-zA-Z\s]')
regex.sub('', para)

\\s匹配任何空白字符(相當於[\\r\\n\\t\\f\\v ] )。 請參閱regex101.com

破解它

import re
pattern = re.compile('[\W_0-9]+')
para =  '''I a going through Lots Of pain
            kcb H in'''
dirty_list = para.split()
clean_list = [pattern.sub('', word) for word in dirty_list]
clean_string = ' '.join(clean_list)
print(clean_string)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM