我有一个包含搜索和替换值的列表。我正在尝试使用for循环用string迭代列表,这会导致用其他值替换。任何帮助都将不胜感激
示例: 列表
grp=["MEDICAL | MEDCL | MDCL | MEDICINE | MEDCL | ME | MEDICA | MDM | MEDI | M | MEDICIN | MEDIC | MEDICI / MED /"," CENTRA| CENTRE| CNTR| CTRS| CENTERS|CENTRAL | CENTER| CEN| CENT| CNTRS| CENTERR| CE| CT| CENTE| CENTERE / CTR /"," MAINE / ME /"]
输入:
str="CENTRAL MAINE MEDICAL CENTER"
预期产量:
"CTR ME MED CTR"
尝试的代码:
for i in range(len(grp)):
res_split=re.findall(r"[^/]+",grp[i])
for x in res_split[0].split("|"):
str = str.replace(x,res_split[1])
str
输出:
' CTR R R R R MED MED CTR R R R R '
您可以在此处使用以下正则表达式:
^{}
不幸的是,你必须为每个词搜索一次,否则你会有重叠的匹配
正则表达式解释:
相关问题 更多 >
编程相关推荐