Computers/Language python

파이썬 문자열 string find

emzei 2012. 3. 14. 16:15

finding strings in Strings


# : 찾고자하는 문자열

========###====###=====

<string>.find(<string>)



찾고자 하는 문자열이 존재하는 경우

리턴값 : 문자열의 시작 위치


찾고자 하는 문자열이 존재하지 않는 경우

리턴값 : -1


Quiz :

return value가 항상 0인 경우


s = '<any string>'


s.find(s)

's'.find('s')

s.find('')                      // ''는 empty string

s.find(s+'!!!')+1         // s.find(s+'!!!')는 항상 -1이므로 +1한 값은 항상 0


s.find('s')는 -1을 리턴









finding strings with number


# : 찾고자하는 문자열

========###====###=====

<string>.find(<string> , <number>)


전체 문자열에서 number부터 문자열을 찾기 시작함

string.find(string, 0) 은 string.find(string)과 같음

찾고자 하는 문자열이 여러개일때 유용함


찾고자 하는 문자열이 존재하는 경우

리턴값 : 문자열의 시작 위치


찾고자 하는 문자열이 존재하지 않는 경우

리턴값 : -1




Quiz :

s = <any string>

t = <any string>

i = <any number>

s.find(t, i) 와 같은 것은?


<보기>

s[i:].find(t)

s.find(t)[:i]

s.[i:].find(t)+i

s[i:].find(t[i:])


아쉽게도 전부 다 답이 아니다.


예 ) 

s = 'udacity' 

t ='city'

i = 3


s.find(t, i) 

>>>3

s[i:].find(t)

>>> 0

s.find(t)[:i]

>>> invalid syntax

s.[i:].find(t)+i

>>> 

t가 s안에 존재하면 s.find(t, i)와 같은 답이 나오지만 (t = city 라면)

t가 s안에 존재하지 않을경우 -1이 아니라 엉뚱한 값이 나옴 (t= dog라면 결과는 2)

s[i:].find(t[i:])

>>> 같지 않을 경우에 엉뚱한값 리턴

'Computers > Language python' 카테고리의 다른 글

procedure  (0) 2012.03.14
url 링크 얻기  (0) 2012.03.14
web crawler - extract link  (0) 2012.03.14
파이썬 문자열 substring / slicing  (0) 2012.03.14
파이썬 설치하기  (0) 2012.03.14