首页 > 解决方案 > 如何以 Pythonic 方式用逗号替换每一秒的空格

问题描述

我有一个字符串,名字和姓氏都用空格分隔。例如:

installers = "Joe Bloggs John Murphy Peter Smith"

我现在需要用 ', ' (逗号后跟一个空格)替换每个第二个空格并将其输出为字符串。

所需的输出是

print installers 
Joe Bloggs, John Murphy, Peter Smith

标签: pythonstringpython-2.7iterationdata-manipulation

解决方案


您应该能够使用查找空格并替换最后一个空格的正则表达式来执行此操作:

import re
installers = "Joe Bloggs John Murphy Peter Smith"
re.sub(r'(\s\S*?)\s', r'\1, ',installers)
# 'Joe Bloggs, John Murphy, Peter Smith'

这就是说,找到一个空格,然后是一些非空格,然后是一个空格,并将其替换为找到的空格,然后是一些非空格和“,”。installers.strip()如果字符串上可能出现尾随空格,您可以添加。


推荐阅读