在第N个分隔符后替换值

时间:2016-06-13 10:41:37

标签: python string python-3.x

原始字符串如下所示:

a,b,c,d,e

如何替换第N个逗号后面的逗号分隔值?

例如,我如何用x替换第三个逗号之后的值来创建后续字符串?

a,b,c,x,e

4 个答案:

答案 0 :(得分:1)

mystr = 'a,b,c,d,e'

mystr = mystr.split(',')
mystr[3] = 'x'
mystr = ','.join(mystr)

print mystr

答案 1 :(得分:1)

这取决于你想要怎么做,有几种方法,例如:

使用拆分

list = "a,b,c,d,e".split(",")
list[3] = "x"
print ",".join(list)

使用正则表达式

import re
print re.sub(r"^((?:[^,]+,){3})([^,]+)(.*)$", "\\1x\\3", "a,b,c,d,e")

在正则表达式示例中,{3}是要跳过的条目数

答案 2 :(得分:0)

是的可能

def replaceNthComma(data, indexOfComma, newVal): _list = list(data) _list[indexOfComma*2] = newVal return ''.join(_list)

将按预期返回确切的输出。

ouput: replaceNthComma("a,b,c,x,e", 3, 'x') ==> 'a,b,c,x,e'

答案 3 :(得分:0)

我在这里发布的代码应该是不言自明的,如果没有,请随时通过评论请求解释。

s = 'a,b,c,d,e'
n = 3
to_replace_with = 'x'

l = s.split(',')
l[n] = to_replace_with
result = ','.join(l)

>>>print(result)
'a,b,c,x,e'