使用正则表达式提取文件数据后添加指定字符的技术求助
解决方案
修改后的代码
import re import os All = [] for fil in os.listdir('Input/'): with open('Input/' + fil, encoding='ISO-8859-1') as files: text = files.read() # 修复原代码的重复赋值问题 # 提取目标内容 find = re.findall('Play_(.*?)refParamName', text) # 处理每个提取到的字符串 modified_results = [] for item in find: # 去掉前后空格,在"前插入_Skin6 cleaned_item = item.strip() modified = re.sub(r'(.*)"', r'\1_Skin6"', cleaned_item) modified_results.append(modified) # 输出修改后的结果 print(modified_results) # 如需收集所有结果到All列表 All.extend(modified_results)
关键操作说明
- 修正原代码中
text = file = files.read()的重复赋值错误,改为text = files.read()。 - 对每个提取到的字符串做两步处理:
- 用
strip()清除前后多余空格(比如原结果末尾的空格)。 - 用正则替换把
"前的内容后追加_Skin6,精准实现格式转换。
- 用
- 若需要汇总所有修改后的数据,通过
extend()方法将单文件结果加入全局列表All。
转换效果示例
原提取内容:['DiaoChan_Attack" ', 'DiaoChan_VO_Short" ']
修改后输出:['DiaoChan_Attack_Skin6"', 'DiaoChan_VO_Short_Skin6"']
内容的提问来源于stack exchange,提问作者Khánh Đàm
相关产品推荐
相关产品推荐

