파이썬은 문자열에서 모든 항목 찾기

Vaibhhav Khetarpal 2023년1월30일
  1. string.count()함수를 사용하여 Python의 문자열에서 하위 문자열의 모든 항목 찾기
  2. List Comprehension 및startswith()를 사용하여 Python의 문자열에서 하위 문자열의 모든 항목 찾기
  3. re.finditer()를 사용하여 Python의 문자열에서 하위 문자열의 모든 항목 찾기
파이썬은 문자열에서 모든 항목 찾기

Python의 하위 문자열은 다른 문자열 내에서 발생하는 문자 클러스터입니다. 부분 문자열을 다루는 것은 종종 번거로울 수 있습니다. 이러한 문제 중 하나는 특정 문자열 내에서 하위 문자열의 모든 발생을 찾는 것입니다.

이 튜토리얼은 Python의 문자열 내에서 모든 부분 문자열을 찾는 다양한 방법에 대해 설명합니다.

string.count()함수를 사용하여 Python의 문자열에서 하위 문자열의 모든 항목 찾기

string.count()는 주어진 특정 문자열에서 하위 문자열의 발생 수 또는 수량을 반환하는 Python의 내장 함수입니다. 또한 시작 및 종료 위치의 인덱스를 지정하는 추가 매개 변수startend가 있습니다.

count()메소드는 문자열을 탐색하고 문자열에서 특정 하위 문자열이 발생한 횟수를 리턴합니다.

다음 코드는string.count()함수를 사용하여 문자열에서 모든 하위 문자열을 찾습니다.

# defining string and substring
str1 = "This dress looks good; you have good taste in clothes."
substr = "good"

# occurrence of word 'good' in whole string
count1 = str1.count(substr)
print(count1)

# occurrence of word 'good' from index 0 to 25
count2 = str1.count(substr, 0, 25)
print(count2)

출력:

2
1

쉬운 방법이며 모든 경우에 작동합니다. 이 메서드의 유일한 단점은 문자열에서 하위 문자열이 발생하는 다른 인덱스를 반환하지 않는다는 것입니다.

List Comprehension 및startswith()를 사용하여 Python의 문자열에서 하위 문자열의 모든 항목 찾기

이 메소드에는 목록 이해력과startswith()메소드가 필요합니다.

startswith()함수는 하위 문자열의 시작 인덱스를 가져 오는 작업을 수행하고 목록 이해를 사용하여 전체 대상 문자열을 반복합니다.

다음 코드는 목록 이해력과startswith()를 사용하여 문자열에서 모든 하위 문자열을 찾습니다.

# defining string
str1 = "This dress looks good; you have good taste in clothes."

# defining substring
substr = "good"

# printing original string
print("The original string is : " + str1)

# printing substring
print("The substring to find : " + substr)

# using list comprehension + startswith()
# All occurrences of substring in string
res = [i for i in range(len(str1)) if str1.startswith(substr, i)]

# printing result
print("The start indices of the substrings are : " + str(res))

출력:

The original string is : This dress looks good; you have good taste in clothes.
The substring to find : good
The start indices of the substrings are : [17, 34]

re.finditer()를 사용하여 Python의 문자열에서 하위 문자열의 모든 항목 찾기

re.finditer()는 프로그래머가 코드에서 사용할 수 있도록 Python이 제공하는 정규식 라이브러리의 함수입니다. 문자열에서 특정 패턴의 발생을 찾는 작업을 수행하는 데 도움이됩니다. 이 함수를 사용하려면 먼저 정규식 라이브러리 re를 가져와야합니다.

re.finditer()는 구문에서patternstring 매개 변수를 사용합니다. 이 경우 패턴은 하위 문자열을 참조합니다.

다음 코드는re.finditer()함수를 사용하여 문자열에서 모든 하위 문자열 항목을 찾습니다.

import re

# defining string
str1 = "This dress looks good; you have good taste in clothes."

# defining substring
substr = "good"

print("The original string is: " + str1)

print("The substring to find: " + substr)

result = [_.start() for _ in re.finditer(substr, str1)]

print("The start indices of the substrings are : " + str(result))

출력:

The original string is: This dress looks good; you have good taste in clothes.
The substring to find: good
The start indices of the substrings are : [17, 34]
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

관련 문장 - Python String