다음 문제가 있습니다. 이 코드는 해시 태그를 잡기에 완벽하지만 ... 두 번째 "while"에 차선이 완료된 것을 어떻게 넣을 수 있습니까?IndexError : 문자열 인덱스가 범위를 벗어났습니다. 한 번 더
나는이 차선을 넣을 경우
hash = '#hhhh #asdasd'
코드 이뤄져 컴파일. 그 동안을 어떻게 바꿀 수 있습니까? 미리 감사드립니다. 예외 : 당신은 해시의 길이에 대한 확인이 없기 때문에 당신은 인덱스에 문제가
hash = '#hhhh #asdasd '
indexA = 0
copy = ''
indexB = indexA
while indexA < len(hash):
indexB = indexA
copy = ''
if hash[indexA] == '#' and indexA + 1 < len(hash):
while hash[indexA + 1] not in {' ', '#'}:
indexA += 1
copy = hash[indexB:indexA + 1]
if len(copy) > 1:
print('newHashtag: ' + copy)
if hash[indexA + 1] == ' ':
indexA += 1
else:
indexA += 1
while indexA
Li357
이 코드는 제 Python 인터프리터에서 작동합니다. Btw,'hash'는 파이썬의 내장 함수입니다. 덮어 쓰는 것은 좋지 않습니다. – pivanchy
당신이 무엇을하고 있는지 이해한다면 실제로 이것을 위해 정규 표현식을 사용해야합니다. 문자열이 항상 규칙적이면'split' 만 사용할 수도 있습니다. –