2014-06-08 12 views
0

파이썬으로 문자열 내에서 단어를 찾으려고합니다.파이썬 : 문자열 내의 단어 찾기

str1 = 'This string' 
if 'is' in str1: 
    print str1 

위의 예에서 나는 str1을 인쇄하지 않기를 원할 것입니다. 다음 예제에서는 str2를 출력하고 싶습니다.

str2 = 'This is a string' 
if 'is' in str2: 
    print str2 

어떻게하면 파이썬에서이 작업을 수행 할 수 있습니까?

답변

5

분할 단어에 문자열과 그들을 검색 :

if 'is' in str1.split(): # 'is' in ['This', 'string'] 
    print(str1) # never printed 

if 'is' in str2.split(): # 'is' in ['This', 'is', 'a', 'string'] 
    print(str2) # printed 
+3

그냥 작은 포인트를 취할 : 대소 문자를 구분하지, 그냥 소문자로 문장을 설정 한 경우 주먹. – CppLearner

+0

고마워,이게 내가 찾고 있던거야. 또한 나는 문자열을 비교하기 전에 lower()를 사용하고 있습니다. – user2547755

4

사용 정규식의 단어 경계도 작동

import re 

if re.findall(r'\bis\b', str1): 
    print str1 
관련 문제