gpt4 book ai didi

用于单词和单个空格的 Python 正则表达式

转载 作者:太空宇宙 更新时间:2023-11-04 09:07:28 25 4
gpt4 key购买 nike

我正在使用 re.sub 以通过正则表达式强制将“坏”字符串转换为“有效”字符串。我正在努力创建正确的正则表达式来解析字符串并“删除坏部分”。具体来说,我想强制一个字符串全部按字母顺序排列,并允许单词之间有一个空格。任何不同意此规则的值我想用 '' 代替。这包括多个空格。任何帮助将不胜感激!

import re
list_of_strings = ["3He2l2lo Wo45rld!", "Hello World- -number two-", "Hello World number .. three"
for str in list_of_strings:
print re.sub(r'[^A-Za-z]+([^\s][A-Za-z])*', '' , str)

我希望输出为:

Hello World

第二个 Hello World

Hello World 第三名

最佳答案

尝试以下是否有效。它匹配要删除的两组字符,但只有当它们中至少有一个空格时才用空格替换它。

import re
list_of_strings = ["3He2l2lo Wo45rld!", "Hello World- -number two-", "Hello World number .. three"]
for str in list_of_strings:
print(re.sub(r'((?:[^A-Za-z\s]|\s)+)', lambda x: ' ' if ' ' in x.group(0) else '' , str))

它产生:

Hello World
Hello World number two
Hello World number three

关于用于单词和单个空格的 Python 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18752018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com