[python] 파이썬에는 문자열 'substring'을 포함하고 있습니까?


5 Answers

부분 문자열 검색이라면 string.find("substring") 사용할 수 있습니다.

find , index , 그리고 substring 검색과 같이 약간 조심해야합니다. 다른 말로하면, 이것은 :

s = "This be a string"
if s.find("is") == -1:
    print "No 'is' here!"
else:
    print "Found 'is' in the string."

Found 'is' in the string. 인쇄 Found 'is' in the string. 비슷하게, if "is" in s: True 평가됩니다. 이것은 당신이 원하는 것일 수도 아닐 수도 있습니다.

Question

파이썬에서 string.contains 또는 string.indexof 메소드를 찾고있다.

나하고 싶어:

if not somestring.contains("blah"):
   continue



다른 단어에 포함 된 하위 문자열 대신 전체 단어를 대 / 소문자를 구분하지 않고 검색하는 경우

s = 'This is my text example'
if 'is' not in (w.lower() for w in s.split(string.punctuation + string.whitespace)):
     # do something



따라서 명백히 벡터 비교를위한 비슷한 것은 없습니다. 이렇게하는 명백한 파이썬 방법은 다음과 같습니다.

names = ['bob', 'john', 'mike']
any(st in 'bob and john' for st in names) 
>> True

any(st in 'mary and jane' for st in names) 
>> False



아니요, string.contains(str) 메서드는 없지만 in 연산자가 있습니다.

if substring in someString:
    print "It's there!!!"

다음은보다 복잡한 작업 예제입니다.

# Print all files with dot in home directory
import commands
(st, output) = commands.getstatusoutput('ls -a ~')
print [f for f in output.split('\n') if '.' in f ]



기본적으로 파이썬에서 문자열의 하위 문자열을 찾고 싶습니다. 파이썬에서 문자열의 부분 문자열을 검색하는 두 가지 방법이 있습니다.

방법 1 : 연산자에서

Python의 in 연산자를 사용하여 하위 문자열을 확인할 수 있습니다. 그것은 매우 간단하고 직관적입니다. substring이 문자열 else False 에서 발견되면 True 를 반환합니다.

>>> "King" in "King's landing"
True

>>> "Jon Snow" in "King's landing"
False

방법 2 : str.find() 메서드

두 번째 방법은 str.find() 메서드를 사용하는 str.find() 입니다. 여기서는 부분 문자열이있는 문자열에서 .find() 메서드를 호출합니다. substring을 find () 메서드에 전달하고 반환 값을 확인합니다. 값이 -1이 아닌 경우 문자열에서 하위 문자열을 찾았으며 그렇지 않은 경우 문자열을 찾았습니다. 리턴 된 값은 부분 문자열이 발견 된 색인입니다.

>>> some_string = "valar morghulis"

>>> some_string.find("morghulis")
6

>>> some_string.find("dohaeris")
-1

첫 번째 방법을 Pythonic 및 직관적 인 방식으로 사용하는 것이 좋습니다.




파이썬에는 이것을 달성 할 수있는 두 가지 간단한 방법이 있습니다.

파이썬 적 방법 : 파이썬의 'in'키워드 사용하기 -

in 은 왼쪽 인수 ( substring )와 오른쪽 인수 중 하나를 인수 in 취하고 인수가 rightside 인수에 포함되어 있으면 True 반환하고 그렇지 않으면 False 반환합니다.

example_string = "This is an example string"
substring = "example"
print(substring in example_string)

산출:

True

비 - 파이썬 적 방법 : Python의 str.find 사용하기 :

find 메소드는 문자열 내의 문자열의 위치를 ​​반환하거나 문자열이 없으면 -1을 반환합니다. 그러나 위치가 -1이 아닌지 단순히 확인하십시오.

if example_string.find(substring) != -1:
    print('Substring found!')
else:
    print('Substring not found!')

산출:

Substring found!



Related