2016-06-13 21 views
0

オリジナルの文字列は次のようになります。は、N番目の区切り文字の後に値を置き換え

a,b,c,d,e 

どのように私はN番目のコンマの後に来るカンマ区切りの値を置き換えることができますか?

たとえば、次の文字列を作成するために、3番目のコンマの後に続く値をxに置き換えるにはどうすればよいですか?

a,b,c,x,e

答えて

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

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

print mystr 
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'

1

それはあなたがそれをしたいかによって異なり、いくつかの方法、例えばがあります

スプリット

正規表現

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}はスキップする項目数です

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' 
関連する問題