2017-09-18 10 views
-2

私はこれのようなファイルをいくつか持っています。llm_rc_v3212.xml, llm_ds_v3232.xml。 名前は何でもかまいません。ただし、共通パラメータは_v3212となります。私はこの番号と一致させて置き換えたい(理想的にはファイルの名前を変更する)。ファイル名を変更するためのPythonの一致パターン

このパターンを正規表現とどのように一致させることができますか?私はre.subを使ってみようとしていますが、まだ描くことはできません。

助けていただければ幸いです。

+0

どのように正確には 're.sub'を使用しましたか? –

+0

その共通パラメータは正規表現 '_v \ d + 'と一致する可能性があります –

+0

何を番号の名前に変更しますか? – Ajax1234

答えて

0

ここに実例があります。他のファイル名によっては、正規表現を変更する必要があるかもしれないことに注意してください。

あなたが与えたファイル名でテスト
import re 

FILENAME_VERSION_REGEX = re.compile(r'_v(\d)+') 


def rename(filename, replacement): 
    full_replacement = r'_v{}'.format(replacement) 
    new_filename = FILENAME_VERSION_REGEX.sub(full_replacement, filename) 
    return new_filename 

>>> rename('llm_rc_v3212.xml', 1) 
'llm_rc_v1.xml' 

>>> rename('llm_ds_v3232.xml', 2) 
'llm_ds_v2.xml' 

>>> rename('llm_v232_uc.xml', 3) 
'llm_v3_uc.xml' 
+1

ありがとうございました説明!私は初心者です..! – tgcloud

関連する問題