Python 문자열에 하위 문자열이 포함되어 있는지 확인하는 7가지 방법

문자열 작업은 Python에서 일반적인 작업입니다. 문자열에 다른 문자열이 포함되어 있는지 확인해야 하는 경우가 종종 있습니다.

Python 문자열에 하위 문자열이 포함되어 있는지 확인하는 가장 간단한 방법에는 'in' 연산자, find() 함수 및 index() 메서드가 있습니다. 더 복잡한 시나리오는 정규 표현식이나 Pandas와 같은 외부 라이브러리를 사용하여 해결할 수 있습니다.

이 기사에서는 다음을 보여줍니다.

  • 네 가지 간단한 방법

  • 두 가지 더 복잡한 정규식 함수

  • Pandas 라이브러리를 사용하는 방법

구문 및 사용법의 예를 통해 각 기술을 배웁니다. 또한 다양한 요구 사항에 가장 적합한 방법에 대한 정보도 얻을 수 있습니다.

시작하자!

목차

파이썬 문자열의 기초

Python의 문자열은 텍스트 기반 데이터를 나타내는 데 사용되는 일련의 문자입니다. 여기에는 문자, 숫자, 기호 및 공백이 포함될 수 있습니다.

Python의 내장 데이터 유형 중 하나이며 다음 중 하나를 사용하여 만들 수 있습니다.

  • 작은따옴표(' ')

  • 큰따옴표(" ")

  • 삼중 따옴표("' "' 또는 """ """)

문자열은 인덱싱되므로 인덱스 번호를 참조하여 특정 문자에 액세스할 수 있습니다. 시작 색인은 0입니다. 즉, 문자열의 첫 번째 문자의 색인은 0이고 두 번째 문자의 색인은 1입니다.

다음으로 하위 문자열을 확인하는 방법을 살펴봅니다.

하위 문자열을 확인하는 가장 간단한 4가지 방법

Python은 특정 하위 문자열이 더 큰 문자열 내에 존재하는지 확인하는 여러 가지 방법을 제공합니다. 일부는 다른 것보다 더 복잡합니다. 가장 기본적인 검사의 경우 가장 간단한 방법은 in 연산자 또는 세 가지 문자열 방법 중 하나입니다.

  1. 연산자에서

  2. find() 메소드

  3. index() 메서드

  4. 카운트() 메서드

Python 문자열에 하위 문자열이 포함되어 있는지 확인하는 7가지 방법

1. 오퍼레이터에서

Python의 'in' 연산자는 한 문자열이 다른 문자열 내에 존재하는지 확인하는 간단하고 직관적인 방법입니다. 이 연산자는 멤버 자격을 확인하고 부울 값을 반환합니다.

  • 하위 문자열이 기본 문자열 내에서 발견되면 참

  • 그렇지 않은 경우 거짓

다음은 몇 가지 샘플 코드입니다.

s = "Hello, world!"
sub = "world"
result = sub in s
print(result)  # Output: True

'in' 연산자는 대소문자를 구분합니다. 즉, 소문자와 대문자를 다르게 취급합니다. 위의 코드는 하위 문자열 "hello"를 찾지 않으므로 연산자는 false를 반환합니다.

대소문자를 구분하지 않는 확인을 수행하려는 경우 확인을 수행하기 전에 기본 문자열과 하위 문자열을 모두 동일한 대소문자로 변환할 수 있습니다.

s = "Hello, world!"
sub = "hello"
result = sub.lower() in s.lower()
print(result)  # Output: True

in 연산자의 단점은 기본 문자열 내에서 하위 문자열의 위치를 ​​제공하지 않는다는 것입니다. 이를 위해서는 이 섹션에서 다른 방법이 필요합니다. 읽어…

2. Find() 메서드

find () 메서드는 하위 문자열이 나타나는 첫 번째 인덱스를 반환하거나 하위 문자열을 찾을 수 없는 경우 -1을 반환합니다.

하위 문자열 sub를 인수로 전달하여 문자열 s 에서 find() 메서드를 호출합니다 . 다음은 예입니다.

s = "Hello, world!"
sub = "world"
index = s.find(sub)

if index != -1:
     print("Found at index:", index)  # Output: Found at index: 7
else:
     print("Not found")

선택적으로 검색을 제한하기 위해 시작 또는 종료 인덱스를 지정할 수 있습니다. 이 방법의 단점은 첫 번째 발생 시 중지된다는 것입니다.

3. Index() 메서드

index () 메서드는 하위 문자열을 찾을 수 없을 때 ValueError를 발생시킨다는 점을 제외하면 find() 메서드 와 매우 유사합니다 . 이는 호출을 Try/Except 섹션으로 래핑해야 함을 의미합니다.

index() 메서드를 사용하려면 문자열 s 에서 호출 하고 하위 문자열 sub를 인수로 전달합니다.

s = "Hello, world!"
sub = "world"

try: 
     index = s.index(sub)
     print("Found at index:", index)  # Output: Found at index: 7
except ValueError:
     print("Not found")

이 메서드는 텍스트 내의 첫 번째 부분 문자열에서도 중지합니다.

4. Count() 메서드

.count () 메서드는 하위 문자열이 원래 문자열에서 나타나는 횟수를 계산합니다. 이 개수를 나타내는 정수를 반환합니다. 기본 문자열에서 하위 문자열을 찾을 수 없으면 0을 반환합니다.

다음은 "Hello, world!"라는 텍스트에서 문자 "o"를 찾는 간단한 예입니다.

s = "Hello, world!"
sub = "o"
print(s.count(sub))  # Output:2

문자열을 정규식과 일치시키는 2가지 방법

정규식 (regex)을 사용하는 것은 이전 섹션의 방법보다 약간 더 복잡합니다. 그러나 다루고 있는 텍스트를 검색하고 분석하기 위한 더 많은 옵션을 제공합니다.

re 모듈 내에서 가장 쉬운 두 가지 방법은 다음과 같습니다.

  1. 찾다()

  2. findall()

Python 문자열에 하위 문자열이 포함되어 있는지 확인하는 7가지 방법

1. re.Search()

re 모듈 의 search() 함수는 주어진 문자열 에서 패턴을 검색하고 일치하는 항목이 있으면 일치 객체를 반환합니다. 그렇지 않으면 None 을 반환합니다 .

기본적으로 함수는 대/소문자를 구분합니다. 대소문자를 구분하지 않으려면 re.IgnoreCase 플래그를 사용할 수 있습니다 .

다음은 문자열이 있는지 여부에 따라 조건문을 사용하는 간단한 예입니다.

import re
pattern = "python"
text = "I love Python programming"
match = re.search(pattern, text, re.IGNORECASE)

if match: 
     print("Pattern found")
else:
     print("Pattern not found")

이 메서드는 첫 번째 일치 항목을 찾은 다음 검색을 중지합니다. 모든 일치 항목을 찾으려면 이 목록의 다음 항목을 찾으십시오.

2. re.Findall()

이 메서드는 주어진 문자열에서 검색 패턴의 모든 항목을 찾고 모든 일치 항목을 포함하는 목록을 반환합니다.

이 예제에서는 문자열에서 하나 이상의 숫자와 일치하는 패턴을 사용합니다. 텍스트 문자열 "123, 456, 789"는 세 개의 숫자 시퀀스를 포함합니다.

import re 

pattern = "d+" 
text = "123, 456, 789" 
numbers = re.findall(pattern, text) 

print(numbers)

다음은 샘플 코드의 답변입니다: ['123', '456', '789'].

Pandas로 하위 문자열을 찾는 방법

Python 문자열에 하위 문자열이 포함되어 있는지 확인하는 7가지 방법

Pandas는 인기 있는 Python용 오픈 소스 데이터 분석 및 조작 라이브러리입니다. 구조화된 데이터를 조작하고 분석하는 데 필요한 데이터 구조와 기능을 제공합니다.

Pandas 에서 제공하는 기본 데이터 구조 중 하나는 DataFrame입니다. 이 다목적 데이터 구조를 사용하여 다른 문자열 내부의 문자열을 확인할 수 있습니다.

Pandas의 장점은 다른 프로그래밍 언어 로 광범위하게 작성해야 하는 코드 패키지를 제공한다는 것입니다 . 특히, contains 함수 내부에 많은 기능이 포함되어 있습니다.

str.contains() Pandas의 함수

str.contains () 메서드는 지정된 패턴이나 정규식이 DataFrame 열의 문자열 내에 포함되어 있는지 테스트합니다.

다음은 라이브러리를 가져오고 문자열 목록 내에서 문자열을 검색하는 예입니다.

import pandas as pd

# Creating a sample DataFrame 
data = {'fruits': ['apple', 'banana', 'cherry', 'watermelon', 'orange']} 
df = pd.DataFrame(data) 

# Searching for substrings in the 'fruits' column 
has_an = df['fruits'].str.contains(pat='an', regex=False)

# Filtering the DataFrame based on the search results 
filtered_df = df[has_an] 
print(filtered_df)

이 예에서는 'fruits' 열에서 하위 문자열 'an'을 검색하고 그에 따라 DataFrame을 필터링합니다. 출력은 다음과 같습니다.

  • 바나나 1개

  • 4 오렌지

Pandas가 무엇을 할 수 있는지에 대한 더 많은 예를 찾고 있다면 이 비디오를 확인하십시오.

Python에서 특정 방법을 선택하기 위한 팁

방법의 선택은 작업의 특정 요구 사항에 따라 크게 달라집니다.

다음은 이 기사에서 배운 방법 중 하나를 선택해야 하는 네 가지 이유와 이 블로그의 다른 곳에서 배우게 될 보너스 방법입니다.

  1. 처리 속도

  2. 하위 문자열의 위치를 ​​알아야 합니다.

  3. 하위 문자열의 발생 횟수를 알아야 합니다.

  4. 복잡한 패턴을 매치하고 싶으신 분

  5. 텍스트 분석 수행

1. 처리 속도

Python 문자열에 하위 문자열이 포함되어 있는지 확인하는 7가지 방법

'in' 0perator는 단순히 문자열 내에 하위 문자열이 존재하는지 알고 싶을 때 가장 좋은 선택입니다.

이 목적을 위해 간단하고 직관적이며 빠릅니다. 그러나 하위 문자열의 위치나 개수에 대한 정보는 제공하지 않습니다.

2. 하위 문자열의 위치

문자열 내에서 하위 문자열이 처음 나타나는 위치를 알아야 하는 경우 .find() 또는 .index() 메서드를 사용하십시오 .

둘 다 하위 문자열이 처음 나타나는 인덱스를 반환합니다.

3. 하위 문자열의 개수

문자열에서 하위 문자열이 몇 번 발생하는지 알고 싶을 때 .count() 메서드를 사용하십시오 .

4. 복잡한 패턴

복잡한 패턴을 일치시키거나 대소문자를 구분하지 않는 검색을 수행해야 하는 경우 정규 표현식이 가장 유연합니다. re.search () 함수는 단순한 하위 문자열 이상의 패턴을 처리할 수 있으며 대소문자를 구분하지 않는 검색을 쉽게 수행할 수 있습니다.

그러나 정규식은 단순한 하위 문자열 검사에 과도할 수 있으며 사용 및 유지 관리가 더 느리고 복잡할 수도 있습니다.

5. 텍스트 분석 수행

textblob 라이브러리로 작업하는 방법을 보여주는 Python의 텍스트 분석 에 대한 기사를 확인하십시오 .

.tags 기능을 사용하여 품사를 확인하거나 .ngram 기능을 사용하여 문서에서 자주 함께 나타나는 단어를 찾을 수 있습니다.

마지막 생각들

단어 또는 문자열 개체가 다른 개체에 포함되어 있는지 확인하는 7가지 방법을 배웠습니다. 여기에는 멤버십 연산자, 내장 함수, 정규식 및 Pandas 함수가 포함됩니다.

각 방법은 일부 상황에는 적합하지만 모든 경우에 적합한 것은 아닙니다. 이 기사를 치트 시트 로 사용하여 Python 프로그래밍 언어를 마스터하고 문자열 분석 작업에 가장 적합한 솔루션을 사용하십시오.

모든 경우에 적용되는 단일 방법은 없다는 점을 기억하십시오. 각 접근 방식에는 고유한 특전과 단점이 있으므로 귀하의 스타일이나 해결하려는 특정 문제에 맞는 것을 자유롭게 선택하십시오. 결국 Python은 삶을 더 쉽게 만드는 것이므로 유연성을 수용하십시오!

Leave a Comment

SharePoint의 계산된 열 | 개요

SharePoint의 계산된 열 | 개요

SharePoint에서 계산된 열의 중요성과 목록에서 자동 계산 및 데이터 수집을 수행하는 방법을 알아보세요.

Power Apps에서 변수 만들기: 컬렉션 작업

Power Apps에서 변수 만들기: 컬렉션 작업

컬렉션 변수를 사용하여 Power Apps에서 변수 만드는 방법 및 유용한 팁에 대해 알아보세요.

Microsoft Flow HTTP 트리거 | Power Automate 자습서

Microsoft Flow HTTP 트리거 | Power Automate 자습서

Microsoft Flow HTTP 트리거가 수행할 수 있는 작업과 Microsoft Power Automate의 예를 사용하여 이를 사용하는 방법을 알아보고 이해하십시오!

Power Automate 흐름: 사용법 및 유형 설명

Power Automate 흐름: 사용법 및 유형 설명

Power Automate 흐름 및 용도에 대해 자세히 알아보세요. 다양한 작업 및 시나리오에 사용할 수 있는 다양한 유형의 흐름에 대해 설명합니다.

흐름에서 Power Automate 종료 작업 제어

흐름에서 Power Automate 종료 작업 제어

조건이 충족되지 않는 경우 흐름에서 작업을 종료하는 Power Automate 종료 작업 컨트롤을 올바르게 사용하는 방법을 알아봅니다.

PowerApps 시작 기능: 앱에서 다른 서비스를 시작하는 방법

PowerApps 시작 기능: 앱에서 다른 서비스를 시작하는 방법

PowerApps 실행 기능에 대해 자세히 알아보고 자신의 앱에서 바로 웹사이트, 전화, 이메일 및 기타 앱과 같은 기타 서비스를 실행하십시오.

Power Automate의 HTTP 요청 – 소개

Power Automate의 HTTP 요청 – 소개

타사 애플리케이션 통합과 관련하여 Power Automate의 HTTP 요청이 작동하는 방식을 배우고 이해합니다.

Power Automate Desktop: 마우스 클릭 보내기 기능을 사용하는 방법

Power Automate Desktop: 마우스 클릭 보내기 기능을 사용하는 방법

Power Automate Desktop에서 Send Mouse Click을 사용하는 방법을 알아보고 이것이 어떤 이점을 제공하고 흐름 성능을 개선하는지 알아보십시오.

PowerApps 변수: 컨텍스트 및 전역 변수 식별

PowerApps 변수: 컨텍스트 및 전역 변수 식별

PowerApps 변수의 작동 방식, 다양한 종류, 각 변수가 앱에 기여할 수 있는 사항을 알아보세요.

Power Automate에서 실행할 데스크톱 흐름 예약

Power Automate에서 실행할 데스크톱 흐름 예약

이 자습서에서는 Power Automate를 사용하여 웹 또는 데스크톱에서 작업을 자동화하는 방법을 알려줍니다. 데스크톱 흐름 예약에 대한 포괄적인 가이드를 제공합니다.