python - 在两个字符串中查找替换的单词

时间:2017-09-26 20:42:46

标签: python string words

我有两个字符串,让我们说:

a = "Hello, I'm Daniel and 15 years old."
b = "Hello, I'm (name) and (age) years old."

现在我希望python找到被替换的单词。它可以是这样的:

{"name": "Daniel", "age": "15"}

我从来没有找到解决方案!非常感谢你的帮助!

2 个答案:

答案 0 :(得分:3)

您可以zip()使用str.split()和字符串切片(从键中删除()):

res = {v[1:-1]: k for k, v in zip(a.split(), b.split()) if k !=v}

str.split()用于在空格上分割每个字符串。

<强>输出:

>>> res
{'name': 'Daniel', 'age': '15'}

答案 1 :(得分:0)

使用python3,您可以使用字典中的值格式化字符串。

"Hello, I'm {name} and {age} years old.".format(**{"name": "Daniel", "age": "15"})

c = {"name": "Daniel", "age": "15"} "Hello, I'm {name} and {age} years old.".format(**c)

或者,如果您询问如何提取这些值,则可以使用正则表达式找到值:

import re
regularExpression = "^Hello, I'm (.*) and ([0-9]*).*"
input = "Hello, I'm Daniel and 15 years old."
match = re.search(regularExpression,input)
result = {"name": match.group(1), "age": match.group(2)}