2012-05-09 105 views
4

使用python我正在解析幾個字符串。有時候字符串已經附加了幾個分號。正則表達式分割一個字符串並剝離循環字符

例字符串:

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

追加分號的數量各不相同,但如果它的存在,它從來沒有少於兩個。
以下模式與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

相關問題