본문 바로가기
IT/Python

str.startswith()와 str.endswith()를 사용해서 문자열의 처음 텍스트나 마지막 텍스트 매칭

by Jang HyunWoong 2014. 12. 19.

문자열의 처음이나 마지막에 있는 텍스트를 매칭하는 간단한 방법이 있다. 

 

문자열 안에서 특정 텍스트를 찾는 방법은 정말 여러가지 인데

 

만약 내가 찾고 싶은 문자열의 형태가 문자열 처음에 있거나 마지막에 있다면

 

str.startswith()와 str.endswith()를 사용해서 쉽게 찾을 수 있다. 

 

 

쉬운 예

- str.startswith()

 

str = "this is string example....wow!!!";

print str.startswith( 'this' );
print str.startswith( 'is', 2, 4 ); 

print str.startswith( 'this', 2, 4 ); 

 

>>> url='http://www.google.com'

>>> url.startswith('http://')

True 

 

 

 

-str.endswith()

>>> import os

>>> filename = os.listdir('.')

>>> filename

['DLLs', 'Doc', 'game', 'include', 'Lib', 'libs', 'LICENSE.txt', 'Mymoduels', 'NEWS.txt', 'note.xml', 'Pillow-wininst.log', 'python.exe', 'pythonw.exe', 'pywin32-wininst.log', 'qt.conf', 'README.txt', 'RemovePillow.exe', 'Removepywin32.exe', 'Scripts', 'tcl', 'Tools', 'Tulips.jpg']

>>> [name for name in filename if name.endswith(('.c', '.h', '.txt'))]

['LICENSE.txt', 'NEWS.txt', 'README.txt'] 

 

끝에가 '.c', '.h', '.txt' 인 것을 리스트로 표현했다. 

 

 

 

* 여기서 우리가 찾고 싶은 입력값이 리스트나 세트라면 먼저 튜플로 변환해주어야 한다. 

예)

>>> choice = ['http:', 'https:']

>>> url = 'http://www.google.com'

>>> url.startswith(choice)

Traceback (most recent call last):

  File "<pyshell#32>", line 1, in <module>

    url.startswith(choice)

TypeError: startswith first arg must be str or a tuple of str, not list

>>> url.startswith(tuple(choice)) #튜플러 변환

True

>>> tuple(choice)

('http:', 'https:') 

 

반응형

'IT > Python' 카테고리의 다른 글

problem using nltk.pos_tag() in nltk  (0) 2014.12.19
정규표현식 python re r' (raw string)  (2) 2014.12.19
Python Regular Expressions  (0) 2014.12.19
heapq모듈에 있는 nlargeest(), nsmallest() 함수  (0) 2014.12.19
deque 연습하기  (0) 2014.12.19