2017-11-14 47 views
0

でカンマを置き換えますPythonは私が<em>文字列</em>次ている文字列

文字列=「[11801 14001]、[11801 14001]、[11801 14001]、[11801 14001]、[11801 14001]、[ [11801 14001]、[11801 14001]、[11801 14001]、[118011001]、[11001]後で文字列をリストに追加するには、文字列の中央にある4つのコンマのうち3つを削除します。 string.replace( ",,,,"、 "、")のような解決方法が必要な場合があります。それ以外の場合は、7つ以上のカンマが連続していて、これは機能しません。解決策はありますか?ありがとう。

答えて

1

正規表現を使用すると、2つ以上のカンマを検索し、1つのカンマで置き換えることができます。

result = re.sub(",,+", ",", string, 0, re.IGNORECASE | re.VERBOSE | re.MULTILINE) 

,, +

オプション:大文字小文字を区別しません。フリースペース。ドットが改行に一致しません。^$は改行で一致します。正規表現の構文は

マッチ文字「」文字通り«»

マッチした文字「」1と無制限の時間の間、文字通り«+»

、できるだけ多くの回数、恩返し必要に応じて(貪欲)«+»

0

別の方法は、使用しsplitjoin

>>> ','.join([i for i in string.split(',') if i]) 
'[11801 14001],[11801 14001],[11801 14001],[11801 14001],[11801 14001],[11801 14001],[11801 14001],[11801 14001],[11801 14001],[11801 14001],[11801 14001],[14001],[14001],[14001]' 
関連する問題