달나라 노트

Python Basic : find (특정 문자열 찾기. 특정 문자열 찾아서 위치 반환) 본문

Python/Python Basic

Python Basic : find (특정 문자열 찾기. 특정 문자열 찾아서 위치 반환)

CosmosProject 2022. 2. 15. 23:23
728x90
반응형

 

 

 

Python 함수 중 find는 어떤 문자에서 특정 문자열의 위치를 찾아줍니다.

 

사용법은 아래와 같습니다.

string.find(text, start_index, end_index)

string = 내가 find를 적용할 문자입니다.

text = string 속에서 위치를 찾을 문자열입니다.

start_index = string의 몇 번째 글자부터 찾을지를 나타냅니다. 첫 번째 글자는 0이며 1씩 증가합니다. 생략할 수 있으며 생략할 경우 0이 됩니다.

end_index = string의 몇 번째 글짜까지 찾을지를 나타냅니다. 생략할 수 있으며 생략할 경우 문자 끝까지를 의미합니다.

 

find의 결과로 매칭되는 문자열의 위치를 찾을 수 없는 경우 -1이 return됩니다.

 

 

 

 

 

test_string = 'watermelon'

print(test_string.find('wat'))   # --> 0
print(test_string.find('elo'))   # --> 6
print(test_string.find('eron'))  # --> -1

 

- print(test_string.find('wat'))   # --> 0

watermelon에서 wat라는 문자를 찾으면 빨간색으로 표시된 것 처럼 watermelon 입니다.

매칭된 wat가 시작되는 w의 위치는 가장 첫 번째 문자이기 때문에 0이 return됩니다.

 

- print(test_string.find('elo'))   # --> 6

watermelon에서 elo라는 문자를 찾으면 빨간색으로 표시된 것 처럼 watermelon 입니다.

매칭된 elo가 시작되는 e의 위치는 7번째 문자이기 때문에 6이 return됩니다.

 

- print(test_string.find('eron'))  # --> -1

watermelon에서 eron라는 문자는 찾을 수 없습니다. 따라서 -1이 return됩니다.

 

 

 

 

 

test_string = 'watermelon'


print(test_string.find('wat', 0))   # --> 0
print(test_string.find('wat', 1))   # --> -1
print(test_string.find('wat', 3))   # --> -1
print(test_string.find('elo', 2))   # --> 6
print(test_string.find('eron', 1))  # --> -1

이번에는 예시들에 start_index를 명시해보았습니다.

 

하나씩 살펴봅시다.

 

- print(test_string.find('wat', 0))   # --> 0

watermelon에서 index=0부터 시작되는 부분은 watermelon입니다.

여기서 wat을 찾으면 빨간색으로 표시된 것 처럼 watermelon입니다.

찾아진 wat가 시작되는 w의 위치는 가장 첫 번째 문자이기 때문에 0이 return됩니다.

 

- print(test_string.find('wat', 1))   # --> -1

watermelon에서 index=1부터 시작되는 부분은 atermelon입니다.

여기서는 wat라는 문자를 찾을 수 없기 때문에 -1이 return됩니다.

 

- print(test_string.find('wat', 3))   # --> -1

watermelon에서 index=3부터 시작되는 부분은 ermelon입니다.

여기서는 wat라는 문자를 찾을 수 없기 때문에 -1이 return됩니다.

 

- print(test_string.find('elo', 2))   # --> 6

watermelon에서 index=2부터 시작되는 부분은 termelon입니다.

여기서 elo를 찾으면 빨간색으로 표시된 것 처럼 termelon입니다.

찾아진 elo가 시작되는 e의 위치는 watermelon 기준 가장 index=6 위치의 문자이기 때문에 6이 return됩니다.

termelon에서 찾았다고해서 termelon이라는 단어를 기준으로 index가 return되는 것이 아닙니다.

 

- print(test_string.find('eron', 1))  # --> -1

watermelon에서 index=1부터 시작되는 부분은 atermelon입니다.

여기서는 eron이라는 문자를 찾을 수 없기 때문에 -1이 return됩니다.

 

 

 

 

 

 

 

 

test_string = 'watermelon'


print(test_string.find('wat', 0, 5))   # --> 0
print(test_string.find('wat', 0, 2))   # --> -1
print(test_string.find('elo', 2, 9))   # --> 6

이번에는 예시들에 start_index와 end_index를 명시해보았습니다.

하나씩 살펴봅시다.

 

- print(test_string.find('wat', 0, 5))   # --> 0

watermelon에서 index=0부터 시작하고 index=5에서 끝나는 부분은 water입니다. 여기서 주의할 점은 end_index로 명시된 문자는 제외한다는 것입니다.

여기서 wat을 찾으면 빨간색으로 표시된 것 처럼 water입니다.
찾아진 wat가 시작되는 w의 위치는 가장 첫 번째 문자이기 때문에 0이 return됩니다.

 

- print(test_string.find('term', 0, 5))  # --> -1

watermelon에서 index=0부터 시작하고 index=5에서 끝나는 부분은 water입니다. 여기서 주의할 점은 end_index로 명시된 문자는 제외한다는 것입니다.

여기서 term이라는 글자는 찾을 수 없으므로 -1이 return됩니다.


- print(test_string.find('wat', 0, 2))   # --> -1

watermelon에서 index=0부터 시작하고 index=2에서 끝나는 부분은 wa입니다. 여기서 주의할 점은 end_index로 명시된 문자는 제외한다는 것입니다.

여기서 wat이라는 글자는 찾을 수 없으므로 -1이 return됩니다.

 


- print(test_string.find('elo', 2, 9))   # --> 6

watermelon에서 index=2부터 시작하고 index=9에서 끝나는 부분은 termelo입니다. 여기서 주의할 점은 end_index로 명시된 문자는 제외한다는 것입니다.
여기서 elo를 찾으면 빨간색으로 표시된 것 처럼 termelo입니다.
찾아진 elo가 시작되는 e의 위치는 watermelon을 기준으로 index=6인 문자이기 때문에 6이 return됩니다.

 

 

 

 

 

 

728x90
반응형
Comments