Python에서 문자열에 단어가 있는지 확인

Fariba Laiq 2023년6월21일
  1. in 연산자를 사용하여 Python의 문자열에 단어가 있는지 확인
  2. String.find() 메서드를 사용하여 Python에서 문자열에 단어가 있는지 확인
  3. String.index() 메서드를 사용하여 Python에서 문자열에 단어가 있는지 확인
  4. search() 메서드를 사용하여 Python에서 문자열에 단어가 있는지 확인
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 모듈에서 사용할 수 있습니다.

여기서 reRegular 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!
작가: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

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

관련 문장 - Python String