일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Kotlin
- Redshift
- Google Excel
- dataframe
- Github
- PostgreSQL
- SQL
- Python
- 파이썬
- list
- PANDAS
- array
- Mac
- math
- numpy
- Tkinter
- matplotlib
- string
- hive
- Apache
- Java
- gas
- c#
- Google Spreadsheet
- GIT
- PySpark
- Excel
- django
- google apps script
- Today
- Total
달나라 노트
Python Basic : find (특정 문자열 찾기. 특정 문자열 찾아서 위치 반환) 본문
Python Basic : find (특정 문자열 찾기. 특정 문자열 찾아서 위치 반환)
CosmosProject 2022. 2. 15. 23:23
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됩니다.