我有两个字符串,让我们说:
a = "Hello, I'm Daniel and 15 years old."
b = "Hello, I'm (name) and (age) years old."
现在我希望python找到被替换的单词。它可以是这样的:
{"name": "Daniel", "age": "15"}
我从来没有找到解决方案!非常感谢你的帮助!
答案 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)}