0

次のような入力があります。

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

ダッシュの後の数字の後のすべてを削除する必要があります。結果は次のようになります。

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

正規表現を使用してこの分割を行うにはどうすればよいですか?

4

4 に答える 4

3

次のコードは、"TV-" + (数字) の形式の文字列を照合する方法を示しています。

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

(私は を使用しているためmatch、これは文字列が抽出したいビットで始まる場合にのみ機能することに注意してください。)

于 2012-08-06T00:24:33.067 に答える
1

これを使用して、数字の後のすべてを削除できます。

re.sub(r"^(\w+-\d+).*", r"\1", input)
于 2012-08-06T00:29:32.983 に答える
1

この正規表現はあなたに適していると思います: (.+?-\d+?)[a-zA-Z]. re.findall、 またはで使用できますre.match

于 2012-08-06T00:23:23.633 に答える
1
import re
p = re.match('([\w]{2}-\d+)', 'TV-12VX')
print(p.group(0))

出力

TV-12
于 2012-08-06T00:28:35.553 に答える