替换所有出现的空格,直到第一个逗号正则表达式?

时间:2013-08-23 20:07:16

标签: regex python-2.7

所以基本上我有一个像:

的CSV
121\sdf\ 34 4333DSssD,23233,TECH,32, ...

第一个字符串是ID,但它应该有+不是空格。他们被剪掉了,所以现在每行都要到第一个逗号,我需要用+。

替换任何空格

正在考虑使用正则表达式和re.sub(使用python进行处理)但是我只是在获取空格时遇到了麻烦。

希望StackOverflow可以提供帮助:D

2 个答案:

答案 0 :(得分:2)

这可以在没有正则表达式的情况下完成;只是在逗号上分区并操纵左侧分区

with open('path/to/input') as infile:
  for line in infile:
    left, comma, right = line.partition(',')
    print "%s%s%s" %(left.replace(' ', "+"), comma, right)

答案 1 :(得分:1)

这是一个没有正则表达式的解决方案(假设你有一个名为line的单行字符串,这可能是在迭代文件对象的for循环内部:< / p>

pieces = line.split(',', 1)
pieces[0] = pieces[0].replace(' ', '+')
line = ','.join(pieces)

或使用正则表达式:

import re
line = re.sub(r'^[^,]*', lambda m: m.group(0).replace(' ', '+'), line)