我如何保留URL的第一个(域)部分,然后屏蔽所有其他内容?
这样做是行不通的:
s= ' Get exciting offers when you book a XX year car June XX - XXXX Click here to book http://abc.in/XXzOK '
import re
formatting = [
[r"http://abc.in/", "http://abc.in/XXXX"]
]
for regex,substitution in formatting:
s = re.sub(regex, substitution, s)
print (s)域名可以是任何类似于google.com或yahoo.com的
预期结果:
Get exciting offers when you book a XX year car June XX - XXXX Click here to book http://abc.in/XXXXX发布于 2021-02-13 10:38:42
例如,您可以像在\S*中看到的那样,将这个演示放在regex之后,但是必须列出所有的替换。
更多urls的一个选项可以是使用两个组,并且第二个组中的字符数可以用X替换。
或者将第1组之后的匹配替换为XXXX,而不使用模式中的第2组,如果它应该是替换中的固定字符串。
import re
s= ' Get exciting offers when you book a XX year car June XX - XXXX Click here to book http://abc.in/XXzOK '
s = re.sub(r"(https?://[^/\s]+/)(\S+)", lambda x: x.group(1) + 'X' * len(x.group(2)), s)
print(s)输出
Get exciting offers when you book a XX year car June XX - XXXX Click here to book http://abc.in/XXXXX https://stackoverflow.com/questions/66183922
复制相似问题