Python 中字典中区分大小写的字符串单词替换
Case-sensitive string word replacement from dictionary in Python
我有一本充满键值对的字典,其中键是我想在字符串中搜索的词,值是我想替换它的词。它还需要能够保存大小写。我在这种情况下绊倒了逻辑。
我认为将字符串拆分为单词列表会起作用,但我不确定这是否是最简单的方法。
dict = {'my':'your', 'dog':'cat'}
string = 'My dog is named Jeffrey.'
我想用中的值替换字符串中的键,但保留大小写和标点符号。
您可以使用 re.sub 使替换不区分大小写。真正困难的是知道哪个字母是大写的,因为我们可能有不同大小的单词,所以我使用大写方法应用了短语中的第一个字母必须大写的规则。
import re
dict = {'my':'your', 'dog':'cat'}
inputString = 'My dog is named Jeffrey.'
for key in dict.keys():
inputString = re.sub("(?i)"+key,dict[key],inputString)
inputString = inputString.capitalize()
print(inputString)
我有一本充满键值对的字典,其中键是我想在字符串中搜索的词,值是我想替换它的词。它还需要能够保存大小写。我在这种情况下绊倒了逻辑。
我认为将字符串拆分为单词列表会起作用,但我不确定这是否是最简单的方法。
dict = {'my':'your', 'dog':'cat'}
string = 'My dog is named Jeffrey.'
我想用中的值替换字符串中的键,但保留大小写和标点符号。
您可以使用 re.sub 使替换不区分大小写。真正困难的是知道哪个字母是大写的,因为我们可能有不同大小的单词,所以我使用大写方法应用了短语中的第一个字母必须大写的规则。
import re
dict = {'my':'your', 'dog':'cat'}
inputString = 'My dog is named Jeffrey.'
for key in dict.keys():
inputString = re.sub("(?i)"+key,dict[key],inputString)
inputString = inputString.capitalize()
print(inputString)