用 .replace() 将空格 " " 替换为 \s

1 投票
1 回答
508 浏览
提问于 2025-04-18 07:46

我有一组名字,其中有空格,比如“George Bush”和“Barack Obama”。我想用正则表达式来搜索这两个名字。根据这个例子,我试着这样做,结果得到了我想要的输出。

p = "(George\sBush|Barack\sObama)"
s = "recent Presidents George Bush and Barack Obama"
print re.findall(p,s) #Prints George Bush and Barack Obama

不过,现在我想把一个列表 ["George Bush", "Barack Obama"] 转换成上面那种模式。

我试了这个:

for l in list:
     p = p + "|" + l
     p = p.strip("|")
p = ('.{75}(' + p + ').{75}').replace(" ", "\s")

但是它给出的结果是:'.{75}(George\\sBush|Barack\\sObama).{75}'

我该如何把空格字符替换成 "\s",而不是 "\\s" 呢?

相关问题:

1 个回答

4

你已经有了。反斜杠是个特殊的符号,在表示的时候需要加上转义符(而且在字符串中也应该加上转义符),但你确实这个"\s"。试着把这个字符串打印出来看看。

撰写回答