原始字符串如下所示:
a,b,c,d,e
如何替换第N个逗号后面的逗号分隔值?
例如,我如何用x
替换第三个逗号之后的值来创建后续字符串?
a,b,c,x,e
答案 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'