オリジナルの文字列は次のようになります。は、N番目の区切り文字の後に値を置き換え
a,b,c,d,e
どのように私はN番目のコンマの後に来るカンマ区切りの値を置き換えることができますか?
たとえば、次の文字列を作成するために、3番目のコンマの後に続く値をx
に置き換えるにはどうすればよいですか?
a,b,c,x,e
オリジナルの文字列は次のようになります。は、N番目の区切り文字の後に値を置き換え
a,b,c,d,e
どのように私はN番目のコンマの後に来るカンマ区切りの値を置き換えることができますか?
たとえば、次の文字列を作成するために、3番目のコンマの後に続く値をx
に置き換えるにはどうすればよいですか?
a,b,c,x,e
mystr = 'a,b,c,d,e'
mystr = mystr.split(',')
mystr[3] = 'x'
mystr = ','.join(mystr)
print mystr
はいそれは、あなたが期待するよう、正確な出力に含まを返します
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'
それはあなたがそれをしたいかによって異なり、いくつかの方法、例えばがあります
スプリット
正規表現import re
print re.sub(r"^((?:[^,]+,){3})([^,]+)(.*)$", "\\1x\\3", "a,b,c,d,e")
を使用して
list = "a,b,c,d,e".split(",")
list[3] = "x"
print ",".join(list)
を使用してに正規表現の例、{3}
はスキップする項目数です
私がここに掲載しているコードは、自明でなければなりません。コメントをつけて説明を求めてください。
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'