正则表达式-用新行替换字符串中带有“ .com大写字母”的空格

时间:2018-07-31 06:36:00

标签: python regex python-3.x

我有一个需要替换空格的字符串。模式为this,后跟一个空格,然后是任何大写字母。

一个例子是: .com

".com T".com之间的空格需要替换为新行。

3 个答案:

答案 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

请参阅:https://regex101.com/r/hYOb3a/1

答案 2 :(得分:0)

使用re.sub

import re
text = re.sub(r'\.com\s+([A-Z])', r'.com\n\1', text)