파이썬 문자열 포함 여부 - paisseon munjayeol poham yeobu

[파이썬] 특정 문자열이 포함되는지 확인하는법.

Python 2020. 8. 7. 15:15

반응형

Python에서 어떤 문자열에 특정 문자열이 포함되어있는지 확인하는 법에 대해 알아보겠습니다.

 

a = "hello world!"
b = "hi world!"
c = "world hi!"
d = "hi"

위의 경우에서 "hi"라는 문자열이 a, b, c에 포함되어있는지 확인하고 싶을 때 어떻게 할까요?

 

일반적으로 두 가지 경우를 사용합니다

1. in키워드

2. find()함수

 

첫 번째 방법의 예시입니다

if d in a:
	print(a)
if d in b:
	print(b)
if d in c:
	print(c)

# hi world!
# world hi!

각각 d가 a, b, c에 포함되어있는지에 따라 출력하게 됩니다. 이 방법은 반환 값이 True, False입니다.

그렇다면 만약 hi로 시작하는 문자열을 찾고 싶을 땐 어떻게 할까요?

 

그럴 때 두 번째 방법을 사용합니다.

if a.find(d) == 0:
	print(a)
if b.find(d) == 0:
	print(b)
if c.find(d) == 0:
	print(c)
    
# hi world!

find() 함수는 찾은 문자의 위치를 리턴 값으로 하기 때문에 인덱스를 활용할 수 있습니다. 

이를 활용해 찾은 인덱스에 문자열을 삽입하던지 삭제하는 등의 작업을 할 수 있겠죠?

반응형

공유하기

게시글 관리

구독하기Juun42

  • 카카오스토리
  • 트위터
  • 페이스북

'Python' 카테고리의 다른 글

[파이썬] VsCode 모듈 import 에러, 문제  (1)2020.08.29[파이썬] heapq 사용법 (우선순위 큐, 힙)  (0)2020.08.10[파이썬] set에 대하여(리스트와 시간비교)  (0)2020.08.07[파이썬] 리스트 정렬(크기순, 길이순)  (0)2020.08.07[파이썬] 리스트 초기화 (feat.2차원)  (0)2020.07.25

관련글 관련글 더보기

  • [파이썬] heapq 사용법 (우선순위 큐, 힙)
  • [파이썬] set에 대하여(리스트와 시간비교)
  • [파이썬] 리스트 정렬(크기순, 길이순)
  • [파이썬] 리스트 초기화 (feat.2차원)

댓글 0

댓글 접기 댓글 펼치기

이전 댓글 더보기

비밀글

등록

4
7
-1
4는
4
7
-1
5와 사용 방법이 정확히 동일하지만, 문자열을 찾는 방향이 문자열의 끝에서 앞쪽이라는 것만 다릅니다. 즉,
4
7
-1
4는
4
7
-1
5의 반대방향으로 문자열을 찾습니다.

다음과 같이 정규표현식의 패턴과 일치하는지 비교할 수도 있습니다. 아래 예제는

str2 contains str1
str2 doesn't contains str3
3로 시작하고
str2 contains str1
str2 doesn't contains str3
4로 끝나는 패턴의 문자열을 찾습니다.
str2 contains str1
str2 doesn't contains str3
5는 문자열이 패턴과 일치하면
str2 contains str1
str2 doesn't contains str3
6를 리턴합니다.

728x90

파이썬 문자열 포함 여부 - paisseon munjayeol poham yeobu

파이썬에서는 문장에서 특정 문자가 포함되었는지 여부를 쉽게 찾을 수 있습니다.

 

파이썬 문자열 포함 여부 - paisseon munjayeol poham yeobu

파이참에서 임의로 문장을 만들어서 'string'이라는 변수에 저장해 봅니다.

 

여기서 '파이썬'이라는 단어가 포함되었는지 확인해 봅시다.

파이썬 문자열 포함 여부 - paisseon munjayeol poham yeobu

'파이썬'이라는 단어를 'word'라는 변수에 저장합니다.

파이썬 문자열 포함 여부 - paisseon munjayeol poham yeobu

if문을 사용하여 위의 그림과 같이 코딩을 합니다.

 

"찾고자 하는 글자 in 문장" ==>> 이렇게 하면 특정글자 포함 여부를 확인할 수 있습니다.

 

파이썬 문자열 포함 여부 - paisseon munjayeol poham yeobu

제대로 결과가 나왔네요.

 

그럼 이번에는 찾고자 하는 글자가 몇개가 포함되었는지 확인하는 코드를 작성해 보겠습니다.

 

파이썬 문자열 포함 여부 - paisseon munjayeol poham yeobu

위의 그림과 같이 코드를 작성해 봅니다.

 

"문장.count(찾고자 하는 글자)" ==>> 이런 형식으로 작성하면 됩니다.

 

파이썬 문자열 포함 여부 - paisseon munjayeol poham yeobu

결과가 제대로 출력 된 것을 확인할 수 있습니다.

 

 

공유하기

게시글 관리

구독하기Memory Store

저작자표시 비영리 변경금지

  • 카카오스토리
  • 트위터
  • 페이스북

'취미로 하는 파이썬 > 파이썬 기초' 카테고리의 다른 글

파이참에서 같은 글자(문자) 동시에 한번에 바꾸기  (0)2021.05.20파이썬(Python) - 파일 복사, 삭제하기(os, shutil 모듈)  (1)2020.12.29파이썬(Python) - 자동 폴더 만들기(os module)  (0)2020.12.28파이썬 실행파일(exe) 쉽게 만들기  (1)2020.12.23파이썬 OS 모듈 사용법  (0)2020.12.21

반응형

다른 언어(C#, Java등)을 사용하다 Python으로 전환하면서 가장 헷갈렸던 부분이 문자열 검색 부분이다.

보통 C# 기준으로 str에 .contains를 통해 특정 문자열이 포함 하고 있는지를 확인 할 수 있는데,

Python에서는 아래와 같은 방법을 이용할 수 있다,

 

1. in, not in 

조건 구분에 in 키워드를 이용해서 확인할 수 있다. 조건에 맞는 경우 True를 반환한다.

str_text = 'abcdf'

if 'a' in str_text:
	#True 반환
	print('포함')
else:
	#False 반환
	print('미포함')

not in은 반대로 포함하지 않는 경우 True를 반환한다.

str_text = 'abcdf'

if 'a' not in str_text:
	#True 반환
	print('미포함')
else:
	#False 반환
	print('포함')

List 형태의 자료에서도 동일하게 사용이 가능하다.

str_text = ['a','b','c','d','e']

if 'a' not in str_text:
	#True 반환
	print('미포함')
else:
	#False 반환
	print('포함')

key, value 형태의 자료에서는 key를 기준으로 검색할 수 있다.

str_text = {'a':0,'b':0,'c':0,'d':0,'e':0}

if 'a' not in str_text:
	#True 반환
	print('미포함')
else:
	#False 반환
	print('포함')
파이썬 문자열 포함 여부 - paisseon munjayeol poham yeobu

2. find

find를 이용해서 특정 문자열 값이 검색해서 시작하는 문자열 인덱스(문자열에 처음 시작하는 위치)를 제공한다.

만약 검색하는 문자가 없으면 -1을 반환한다. 보통 특정 문자열 시작위치를 확인하고자 할 때 사용할 수 있다.

str_text = 'abcdf'

str_text.find('a')
if str_text == -1:
	print('미포함')
else:
	print('포함')

 

반응형

공유하기

게시글 관리

구독하기Asecurity

  • 카카오스토리
  • 트위터
  • 페이스북

'Python' 카테고리의 다른 글

Python - 지역 변수, 전역 변수 그리고 global  (0)2022.04.05Python - tldextract 도메인, 서브도메인, URL 식별/구분 방법  (0)2022.04.04Python - 현재 프로세스 백그라운드, 포그라운드 체크  (0)2022.03.30Python - reverse/reversed 리스트 역순으로 뒤집기  (0)2022.03.29Pylint Error Code 테이블  (0)2022.03.23