2011-12-10 3 views
1

문자열 내에서 단어를 검색하려고합니다.문자열 내 단어를 검색하는 방법

match = 'File' 
s2 = 'name of File: is .jpg' 
if match not in s2: 
    print 'ok' 

그리고 그것은했다. list으로이 작업을 수행 할 수 있습니까?

match = ['File','Category'] 
+0

당신이 정확한 단어를 검색 하시겠습니까 검색 집중된? I. e. 검색 단어가'foo' 인 경우'foobar '에서'foo'와 일치 시키길 원합니까? –

+0

@Tim Pietzcker 정확한 단어가 아닙니다. – Kulbir

답변

4

물론 가능합니다. 따라서 각 단어가 match에 있는지 확인하려면 해당 단어가 s2에 있는지 확인하십시오.

for word in match: 
    if word not in s2: 
     print 'ok' 

또는 간단한 한 줄 -

[word for word in match if word not in s2] 
0
for entry in match: 
    if entry not in s2: 
    print 'ok' 
0
>>> s2.split() 
['name', 'of', 'File:', 'is', '.jpg'] 
>>> s = s2.split() 
>>> s[2] 
'File:' 
>>> match in s[2] 
True 
1

방금 ​​단어의 존재를 추구하는 경우

>>> 'St' in 'Stack' 
True 

것은 당신이 찾고 있다면 그 또한 위치 :

,
>>> ("stack").find("st") 
0 

참고

구문 :

str.find(sub[, start[, end]]) 

최저 반환한다 상기 콘텐츠가 어떤 참조 내 직접 제작 시험 동안에 아래 콘텐츠 http://docs.python.org/library/stdtypes.html로부터 페치왔다 substring sub가 발견 된 문자열의 인덱스이며, sub는 슬라이스에 포함됩니다. [start : end]. 선택적 인수 start 및 end는 조각 표기법으로 해석됩니다. sub가 발견되지 않는 경우는 -1을 리턴합니다.

참조 :

http://docs.python.org/library/stdtypes.html < - 더 방법의 더 다양한 알고 읽기

관련 문제