Regex 如何在python中删除一个字符串和一个数字?
我想删除一个字符和一个数字 这就是我的例子Regex 如何在python中删除一个字符串和一个数字?,regex,python-3.x,Regex,Python 3.x,我想删除一个字符和一个数字 这就是我的例子 text = "a ba aB 가나라다라 A AB 1 2 34 2313??!!" def remove(x) : m = re.sub( r"([\W\s\n\r\tㄱ-ㅎㅏ-ㅣ]+[0-9]{1})" ," " , x).strip() return m I try it remove("a ba aB 가나라다라 A AB 1 2 34 2313??!!") but my result is 'a ba aB 가
text = "a ba aB 가나라다라 A AB 1 2 34 2313??!!"
def remove(x) :
m = re.sub( r"([\W\s\n\r\tㄱ-ㅎㅏ-ㅣ]+[0-9]{1})" ," " , x).strip()
return m
I try it
remove("a ba aB 가나라다라 A AB 1 2 34 2313??!!")
but my result is
'a ba aB 가나라다라 A AB 4 313??!!'
我想要这样ba-aB가나다라 AB 34 2313
如何解决此问题?删除单个字符和所有
?
,代码>您可以使用这个():
印刷品:
ba aB 가나라다라 AB 34 2313
가 ba aB 가나라다라 AB 34 2313
编辑:
印刷品:
ba aB 가나라다라 AB 34 2313
가 ba aB 가나라다라 AB 34 2313
我的猜测是,这个表达式可能会起作用:
(\b[A-Za-z0-9]\b|[?!ㄱㅎㅏㅣ])
试验
输出
如果您希望探索/简化/修改该表达式,将在的右上面板中对其进行解释。在中,如果您愿意,可以查看它与一些示例输入的匹配情况 我能问个问题吗?如果text=“”가 学士가나라다라 AB 12343??!!“”结果是“ba aB”가나라다라 AB 34 2313“但我想”가 ba aB가나라다라 AB 34 2313“谢谢!这很好,但我已经修复了你的代码。m=re.sub(r'(?:\b[0-9a-zA-Zㄱ-ㅎㅏ-ㅣ]\b |[?!\W]+)\s*','',x).strip()
import re
test_str = "a ba aB 가나라다라 A AB 1 2 34 2313??!!"
print(re.sub(r"^\s|\s$","",re.sub(r"\s{2,}", " ", re.sub(r"(\b[A-Za-z0-9]\b|[?!])", "", test_str))))
ba aB 가나라다라 AB 34 2313