Lod*_*e66 0 python string text loops replace
我有一个问题,我非常感谢你的帮助.
具体来说,我有一个巨大的文本文件; 我需要用字典中的条目替换其中的特定字符串.有用的是,我需要替换的单词以顺序方式命名:'Word1','Word2',......,'Wordn'.
现在,我想写一个循环遍历文件的'for'循环,并且'Wordx'的所有实例都用dictionary [x]替换它.当然,问题在于'Wordx'要求'x'部分作为变量起作用,(据我所知)不能在字符串内完成.
有没有人有解决方法?我试着看正则表达式,但没有发现任何明显的东西(可能是因为我也发现它有点令人困惑).
(注意,当我生成文本文件时,我可以完全控制我想要替换的单词形式:即,它不必是'Word11;它可以是'Wordeleven'或'wordXI'或任何ascii根本.)
编辑:按要求添加更多详细信息:我的文本文件是调查文件背后的javascript导出.原始调查软件只允许我一次输入一个文本提示(而不是从csv输入),但我有几千个文本提示输入(单词).我的计划是手动输入大约100个单词('Word1,...,'Word100'),将调查javascript导出为文本文件,编写脚本以用词典条目替换单词,导入生成的文件,然后加入它们进入一项新的调查.
但是,问题仍然是我是否可以使用字符串的数字部分作为循环的变量
使用re.sub(),您可以传递一个函数而不是替换字符串.此功能可以从字典中查找替换.例如:
d = {'0': 'foo', '1': 'bar', '2': 'baz'}
re.sub(r'word(\d+)',
lambda match: d[match.group(1)],
"Hello word0, this is word2. How is word1?")
Run Code Online (Sandbox Code Playgroud)
你好foo,这是巴兹.酒吧怎么样?