2017-01-23 18 views
0

私はいくつかの文字列を持っていますが、多くのソースから来た要素で作成されています。プログラムが作成するサンプル・ストリングを作成しました。 私はカウントする:次の文字列のために、最後のカンマを削除[-3]:pythonの文字列、文字を削除する、右から数えよう

'{"SEignjExQfumwZRacPNHvq8UcsBjKWPERB":1.00000000,"SCaWymicaunRLAxNSTTRhVxLMAB9PaKBDK":2.80000000,"SGFHTxuRLttUShUjZyFMzs8NgC1JopSUK6":1.20000000,}' 

だから私の文字列は次のようになります。

'{"SEignjExQfumwZRacPNHvq8UcsBjKWPERB":1.00000000,"SCaWymicaunRLAxNSTTRhVxLMAB9PaKBDK":2.80000000,"SGFHTxuRLttUShUjZyFMzs8NgC1JopSUK6":1.20000000}' 

私はちょうどカントはかなりそこに着く、助けて感謝。

+0

s.replace( "、"、 "") –

答えて

2

を試すことができます。

string[:-3] + string[-2:] 

>>> string = "hellothere" 
>>> string[:-3] + string[-2:] 
'hellothre' 
+0

あなたが答えを見たときにとても簡単です! – Scalextrix

0

あなたが使用できる文字列から第三の最後の文字を削除するには、あなたが得る最後のコンマ

s = '{"SEignjExQfumwZRacPNHvq8UcsBjKWPERB":1.00000000,"SCaWymicaunRLAxNSTTRhVxLMAB9PaKBDK":2.80000000,"SGFHTxuRLttUShUjZyFMzs8NgC1JopSUK6":1.20000000,}' 
idx = s.rfind(",") 
s[:idx]+s[idx+1:] 

を見つけるために、rfind

'{"SEignjExQfumwZRacPNHvq8UcsBjKWPERB":1.00000000,"SCaWymicaunRLAxNSTTRhVxLMAB9PaKBDK":2.80000000,"SGFHTxuRLttUShUjZyFMzs8NgC1JopSUK6":1.20000000}' 
1

私はrsplitを使用して、部分文字列(2つの結果に限定)の右端で分割し、thエン空の文字列あなたは明らかにカッコ内の別の表現を使うことができ

''.join(s.rsplit(',', 2)) 
1
a = '{"SEignjExQfumwZRacPNHvq8UcsBjKWPERB":1.00000000,"SCaWymicaunRLAxNSTTRhVxLMAB9PaKBDK":2.80000000,"SGFHTxuRLttUShUjZyFMzs8NgC1JopSUK6":1.20000000,}' 

a[:len(a) - 2] + a[len(a) - 1:] 

でそれらを結合、私はちょうどあなたが望んでいた任意の式を使用することができることを見せたかったです。正規表現を使用して

0

>>> print re.sub(r ",(?=[^.]*$)", r '', s) 
{"SEignjExQfumwZRacPNHvq8UcsBjKWPERB":1.00000000,"SCaWymicaunRLAxNSTTRhVxLMAB9PaKBDK":2.80000000,"SGFHTxuRLttUShUjZyFMzs8NgC1JopSUK6":1.20000000} 

これがすべてではない','任意の潜在的な前','と一致します。文字列の最後の直前の最後の','に一致します。

関連する問題