Python에서 문자열에 단어가 있는지 확인
-
in
연산자를 사용하여 Python의 문자열에 단어가 있는지 확인 -
String.find()
메서드를 사용하여 Python에서 문자열에 단어가 있는지 확인 -
String.index()
메서드를 사용하여 Python에서 문자열에 단어가 있는지 확인 -
search()
메서드를 사용하여 Python에서 문자열에 단어가 있는지 확인
“오늘 날씨가 너무 좋아요"라는 문자열이 있다고 가정합니다. "weather"
라는 단어가 문자열에 있는지 여부를 확인하려는 경우 여러 가지 방법으로 찾을 수 있습니다.
이 가이드에서는 in
연산자, string.find()
메서드, string.index()
메서드 및 regular expression(RegEx)
에 대해 살펴보겠습니다.
in
연산자를 사용하여 Python의 문자열에 단어가 있는지 확인
목록, 튜플 또는 배열과 같은 문자열 또는 시퀀스에서 단어를 검색하는 가장 쉬운 방법 중 하나는 in
연산자를 사용하는 것입니다. 조건에서 사용될 때 부울 값을 반환합니다.
“참” 또는 “거짓"일 수 있습니다. 지정된 단어가 존재하는 경우 명령문은 true
로 평가됩니다. 단어가 존재하지 않으면 false
로 평가됩니다.
이 연산자는 대소문자를 구분
합니다. 다음 코드에서 Fun
이라는 단어를 찾으려고 하면 출력에 Fun not found
라는 메시지가 표시됩니다.
예제 코드:
# Python 3.x
sentence = "Learning Python is fun"
word = "fun"
if word in sentence:
print(word, "found!")
else:
print(word, "not found!")
출력:
#Python 3.x
fun found!
대소문자를 구분하지 않고 문자열 내에서 단어를 확인하려면 기본 문자열과 검색할 단어를 소문자로 변환해야 합니다. 다음 코드에서는 Fun
이라는 단어를 확인합니다.
예제 코드:
# Python 3.x
sentence = "Learning Python is fun"
word = "Fun"
if word.lower() in sentence.lower():
print(word, "found!")
else:
print(word, "not found!")
산출
#Python 3.x
Fun found!
String.find()
메서드를 사용하여 Python에서 문자열에 단어가 있는지 확인
문자열과 함께 find()
메서드를 사용하여 특정 단어를 확인할 수 있습니다. 지정된 단어가 있으면 기본 문자열에서 단어의 가장 왼쪽
또는 시작 인덱스
를 반환합니다.
그렇지 않으면 단순히 –1
인덱스를 반환합니다. find()
메서드는 공백
의 인덱스도 계산합니다. 다음 코드에서는 9
가 Python의 시작 인덱스, 문자 P
의 인덱스이기 때문에 출력 9
를 얻습니다.
이 메서드는 기본적으로 대/소문자를 구분합니다. python
이라는 단어를 확인하면 -1
을 반환합니다.
예제 코드:
# Python 3.x
string = "Learning Python is fun"
index = string.find("Python")
print(index)
출력:
#Python 3.x
9
String.index()
메서드를 사용하여 Python에서 문자열에 단어가 있는지 확인
index()
는 find()
메소드와 동일합니다. 이 메서드는 기본 문자열에서 하위 문자열의 가장 낮은 인덱스도 반환합니다.
유일한 차이점은 지정된 단어 또는 하위 문자열이 존재하지 않을 때 find()
메서드는 인덱스 –1을 반환하는 반면 index()
메서드는 (값 오류 예외)
예외를 발생시킨다는 것입니다.
예제 코드:
# Python 3.x
mystring = "Learning Python is fun"
print(mystring.index("Python"))
출력:
#Python 3.x
9
이제 우리는 문장에 존재하지 않는 단어를 찾으려고 노력합니다.
# Python 3.x
mystring = "Learning Python is fun"
print(mystring.index("Java"))
출력:
#Python 3.x
ValueError Traceback (most recent call last)
<ipython-input-12-544a99b6650a> in <module>()
1 mystring = "Learning Python is fun"
----> 2 print(mystring.index("Java"))
ValueError: substring not found
search()
메서드를 사용하여 Python에서 문자열에 단어가 있는지 확인
search()
메서드를 통해 문자열의 패턴 매칭을 통해 특정 단어를 확인할 수 있습니다. 이 방법은 re
모듈에서 사용할 수 있습니다.
여기서 re
는 Regular Expression
을 의미합니다. 검색 방법은 두 개의 인수를 허용합니다.
첫 번째 인수는 찾을 단어이고 두 번째 인수는 전체 문자열입니다. 그러나이 방법은 다른 방법보다 느리게 작동합니다.
예제 코드:
# Python 3.x
from re import search
sentence = "Learning Python is fun"
word = "Python"
if search(word, sentence):
print(word, "found!")
else:
print(word, "not found!")
출력:
#Python 3.x
Python found!
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn