2017-09-26 4 views
-1

나는 두 개의 문자열을 대체 단어를 찾기의 말을 보자. 다음과 같이 될 수 있습니다.파이썬 두 문자열

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

해결책을 찾지 못했습니다! 당신의 도움을 주셔서 대단히 감사합니다!

+1

에 오신 것을 환영합니다. [How to Ask] (https://stackoverflow.com/help/how-to-ask)를 읽고 시도한 것에 대한 세부 사항을 포함하십시오. – Antimony

+0

문제점 설명에 더 자세한 정보가 필요합니다. "템플릿"문자열에 대체 이름을 나타내는 문자열 이외의 괄호가있을 수 있습니까? 두 문자열이 대체 사이트가 아닌 다른 곳에서도 동일하게 보장됩니까? 대체 단어가 공백이나 다른 구두점이없는 한 단어로 보장됩니까? 템플릿 문자열의 이름이 다른 것으로 보장됩니까? 등등. 이러한 세부 사항은 이와 같은 문제에서 중요합니다. –

답변

3

당신은 (키에서 ()을 제거하기 위해) str.split() 및 문자열 슬라이스와 zip()를 사용할 수 있습니다

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

str.split()는 공백에 각 문자열을 분할하는 데 사용됩니다.

출력 :

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

WOW 매우 빠른 답변을 주셔서 감사합니다. 나는 당신의 대답을 받아 들일 것입니다! – Frostie

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)

, 어떻게 이러한 값을 추출하는 정규 표현식을 사용하여 값을 찾을 수 요청하는 경우 : StackOverflow의에

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)}