首页 > 编程知识 正文

python分割字符串,python带通配符的字符串匹配

时间:2023-05-05 19:47:14 阅读:115605 作者:3918

尝试在python中使用通配符搜索/替换文本文件的内容。

文本文件的内容为' all_bcar_v0038.ma ';

' all_bcar_v0002.ma ';

' all_bcar_v0011.ma ';

' all_bcar_v0011.ma ';

希望用v1000替换所有版本号,以获得以下结果: ' all_bcar_v1000.ma ';

' all_bcar_v1000.ma ';

' all_bcar_v1000.ma ';

' all_bcar_v1000.ma ';

请写文件。

虽然尝试了以下方法,但脚本只捕获第一个版本号,其他版本号没有更改。 def replace all (文件、搜索exp、替换exp ) :

forlineinfileinput.input(file,inplace=1) :

if searchExp in line:

line=line.replace(searchexp,replaceExp )。

sys.stdout.write(line )

rigs=['all_bcar']

rigs_latest=['all_bcar_v1000']

old_pattern=[]

old_compiled=[]

old=[]

old_version=[]

forriginrange(Len ) rigs ) :

old _ pattern.append ('/' rigs [ rig ] ' _ ).* ).ma ' ) )

fin=open(txt_file,' r ' ) )。

OLD_compiled.append(re.compile ) OLD_pattern[rig] ) )

old.append (old _ compiled [ rig ].search (fin.read ) ) )

old _ version.append (old [ rig ].group (1).strip ) )

old _ rig=(rigs [ rig ] ' _ ' old _ version [ rig ] )

替换全部(txt _ file,old_rig,rigs_latest[rig] ) ) )。

fin.close () )

我不知道如何保持搜索周期以搜索其他版本,避免被替换的版本,并跳过等于" v1000 "的版本。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。