좋아요. 그래서 str (bigstr)에서 거리를 얻으 려합니다. smallstr이라는 작은 변수가 끝날 때까지 거리를 가져 오려고합니다. 예를 들어 :str에서 끝까지의 거리 (파이썬)
bigstr = 'What are you saying?'
smallstr = 'you'
then
distance = 8
내가 재를 사용하기 위해 노력하고있어,하지만 난이 라이브러리와 총 멍청한 놈입니다.
좋아요. 그래서 str (bigstr)에서 거리를 얻으 려합니다. smallstr이라는 작은 변수가 끝날 때까지 거리를 가져 오려고합니다. 예를 들어 :str에서 끝까지의 거리 (파이썬)
bigstr = 'What are you saying?'
smallstr = 'you'
then
distance = 8
내가 재를 사용하기 위해 노력하고있어,하지만 난이 라이브러리와 총 멍청한 놈입니다.
나는 충분해야 다음, 당신은 그것을 위해 다시해야하는 경우 확실하지 않다 :
>>> bigstr.index(smallstr)
9
>>> len(bigstr) - bigstr.index(smallstr) -len(smallstr)
8
또한 것 : 인덱스를 사용
>>> bigstr = 'What are you saying?'
>>> smallstr = 'you'
>>> bigstr.split(smallstr)
['What are ', ' saying?']
>>> words = bigstr.split(smallstr)
>>> len(words[0])
9
>>> len(words[1])
8
:
분할 사용 distance
은 공백을 계산하기 때문에 9가 아니라 8입니다. - 'What are '
스트립을 사용하여 공백을 제거 할 수 있습니다. 당신은 여전히 재를 사용하려면
는 : 그런 다음 검색
>>> import re
>>> pattern = re.compile(smallstr)
>>> match = pattern.search(bigstr)
>>> match.span()
(9, 12)
>>>
bigstr = 'What are you saying?'
smallstr = 'you'
import re
match = re.search(smallstr, bigstr)
distance = len(bigstr) - match.end()
+1 사용하지만, 그는의 끝에 바늘의 끝에서 거리를 원하는 것 같다 건초 더미의 시작부터 바늘의 시작까지 건초 더미가 아닙니다. 다행히도, 그것은 쉽습니다 :'len (bigstr) - len (smallstr) - bigstr.index (smallstr)'. –
이 두 대답은 문자열의 시작부터 거리를 계산합니다. 문자열의 끝까지 계산하지 않습니다. 그것이 당신이 8이 아닌 9가되는 이유입니다. – jchl
@ jchl @Karl Knechtel : 고맙습니다. 나는 거리 부분을 오해했습니다. 수정 사항을 추가했습니다. – pyfunc