我有一个需要替换空格的字符串。模式为this
,后跟一个空格,然后是任何大写字母。
一个例子是:
.com
".com T"
和.com
之间的空格需要替换为新行。
答案 0 :(得分:2)
使用正则表达式。 Lookbehind & Lookahead
例如:
import re
l = "AAS asdasd asdasd Hello.com T"
m = re.sub("(?<=.com)(\s+)(?=[A-Z])", r"\n", l)
print(m)
输出:
AAS asdasd asdasd Hello.com
T
答案 1 :(得分:1)
您可以使用它替换大写字母前.com
之后的空格:
import re
data = """some.com Tata
dir.com Wube
asa.com alas
null.com 1234
"""
pattern = r'(\.com)(\s)([A-Z])' # captures .com as \1 and the capital letter as \3
repl = r"\1\n\3" # replaces the match with \1+newline+\3
print(re.sub(pattern,repl,data))
输出:
some.com
Tata
dir.com
Wube
asa.com alas
null.com 1234
答案 2 :(得分:0)
使用re.sub
import re
text = re.sub(r'\.com\s+([A-Z])', r'.com\n\1', text)