我有以下信息:
msg = "Cowlishaw Street & Athllon Drive, Greenway now free of obstruction."
我想把“Drive”改成“Dr”或“Street”改成“St”
^{pr2}$我还有一个“转换函数”
如果清单上有这样的词,我该怎么查呢。如果是的话,用“转换”功能来改变它“转换”是一个字典,它以“Drive”等词作为键,值为“Dr”
这就是我所做的
def convert_message(msg, conversion):
msg = msg.translate({ord(i): None for i in ".,"})
tokens = msg.strip().split(" ")
for x in msg:
if x in keys (conversion):
return " ".join(tokens)
不是很简单:
但是,这对} 的正则表达式:
^{pr2}$"Obstruction on Cowlishaw Street."
这样的句子不起作用,因为现在的标记是Street.
。也许您应该使用带^{在这里,
re.sub
查找1个或多个连续的(+
)字母数字字符(\w
);对于每个这样的正则表达式match调用给定函数,将匹配作为参数;匹配的单词可以用match.group(0)
检索。函数应该返回给定匹配项的替换项-在这里,如果在字典中找到该单词,则返回该值,否则返回原始值。在因此:
至于} 来解码HTML实体:
&
,在python3.4+上,您应该使用^{这将处理所有已知的HTML实体。对于早期的python版本,您可以看到alternatives on this question。在
正则表达式与
&
字符不匹配;如果您还想替换它,我们可以使用正则表达式\w+|.
,这意味着:“字母数字字符的任何连续运行,或者不在该运行中的任何单个字符”:那你就可以了
相关问题 更多 >
编程相关推荐