2012-05-09 13 views
4

pythonを使用する私はいくつかの文字列を解析しています。時には文字列に複数のセミコロンが付いていることがあります。Regexは文字列を分割し、繰り返し文字を取り除きます

例文字列:

s1="1;Some text" 
s2="2;Some more text;;;;" 

追加セミコロンの数が異なりますが、それはありますかどうかは2未満ことはありません。
次のパターンはs1と一致し、s2は付加されたセミコロンを含みます。
これらを削除するにはどうすればよいですか?

pat=re.compile('(?m)^(\d+);(.*)') 
+0

なぜマルチラインモードを使用していますか?あなたの例には必要ではありません。複数の行を持つサンプルを表示すると、どのように見えるのでしょうか? –

答えて

8

あなたは、このメソッドは、すべての文字が文字列(デフォルトの空白文字)の端から取り除かされた文字列のコピーを返しますstr.rstrip([chars])

を使用することができます。

あなたが行うことができます:

s2 = s2.rstrip(";") 

あなたはより多くの情報hereを見つけることができます。

+0

私は助けることができてうれしい! :) –

1
pat = re.compile(r'\d+;[^;]*') 
+0

これは、余分な機能を追加することなく問題を解決します。 – webern

関連する問題