给定一个由空格分隔的字符串。需要用逗号替换空白,忽略引号中的空白。
>>> some_string = 'one two "three four" five "six seven"'
>>> replace_func(some_string)
'one,two,"three four",five,"six seven"'
下面是一个简单的决定:
def replace_func(some_str):
lines = []
i = 1
for l in struct.split('"'):
if i % 2:
lines.append(l.replace(' ', ',')
else:
lines.append(l)
i += 1
parsed_struct = '"'.join(lines)
有什么建议吗?
另一种使用正则表达式的方法:
这将匹配一个空格,并且仅当后面有偶数个引号时,才将其替换为逗号。因此,它将只匹配字符串外部。
在^{} 的帮助下,这很容易实现:
我你需要保留引号你可以这样做:
或者,您可以使用正则表达式尝试这种更简单的解决方案:
相关问题 更多 >
编程相关推荐