2012-08-06 230 views
0

我有類似以下內容輸入:正則表達式拆分

TV-12VX 
TV-14JW 
TV-2JIS 
VC-224X 

我需要的破折號後的數字後刪除所有內容。結果將是:

TV-12 
TV-14 
TV-2 
TV-224 

我該如何通過正則表達式進行拆分?

+1

你想*拆分它,或者你只是想刪除它? (也就是說,你想提取它們還是保持開始?) – 2012-08-06 00:19:28

+0

只需保持開始 – David542 2012-08-06 00:21:29

回答

3

下面的代碼演示如何匹配形式的「TV」 +(一些數)的字符串:因爲我使用match

>>> re.match('TV-[0-9]+','TV-12VX').group(0) 
'TV-12' 

(需要注意的是,如果字符串開始這隻作品與位要提取)。

1

我認爲這個正則表達式適合你:(.+?-\d+?)[a-zA-Z]。您可以與re.findallre.match一起使用。

1
import re 
p = re.match('([\w]{2}-\d+)', 'TV-12VX') 
print(p.group(0)) 

輸出

TV-12 
1

可以REM在這個數字之後的所有東西:

re.sub(r"^(\w+-\d+).*", r"\1", input)