关于python:如何确定子字符串是否在不同的字符串中

How to determine whether a substring is in a different string

我有一个子串:

1
substring ="please help me out"

我还有一根绳子:

1
string ="please help me out so that I could solve this"

我如何确定substring是否是使用python的string的子集?


insubstring in string: </P >

1
2
3
4
>>> substring ="please help me out"
>>> string ="please help me out so that I could solve this"
>>> substring in string
True


1
2
3
4
foo ="blahblahblah"
bar ="somethingblahblahblahmeep"
if foo in bar:
    # do something

(顺便我尝试不到一stringname变量,因为这是一个Python标准库以同样的名称。你可能confuse人物,如果你做的是在一个大的项目,所以collisions回避)这是一个好的习惯对得到的热情。) </P >


如果你想找一个以上的真/假,你会是最好的suited到使用re模块,如: </P >

1
2
3
4
5
import re
search="please help me out"
fullstring="please help me out so that I could solve this"
s = re.search(search,fullstring)
print(s.group())

s.group()将返回的字符串"请帮助我们!" </P >


以为我会添加这个案例中你是在寻找如何做这个访谈的技术,他们不想让你打使用Python的内置函数或在infind,这是horrible,但不会发生: </P >

1
2
3
4
5
6
7
8
9
10
11
12
string ="Samantha"
word ="man"

def find_sub_string(word, string):
  len_word = len(word)  #returns 3

  for i in range(len(string)-1):
    if string[i: i + len_word] == word:
  return True

  else:
    return False


这些人string.find()string.index(),和string.indexOf()的评论,他们在这里和我summarize(根据《Python文件): </P >

第一部全有,是不是一个string.indexOf()方法。在链路posted用deviljho交往中这是一个JavaScript函数。 </P >

第二次的string.find()string.index()实际回报的指标A的子字符串。唯一的差别是他们如何听这个子串不发现情况:string.find()时返回-1string.index()raises安ValueError。。。。。。。 </P >


你也可以尝试的find()方法。它determines if occurs在字符串str字符串,或在一个字符串中的字符串。 </P >

1
2
3
4
5
6
7
str1 ="please help me out so that I could solve this"
str2 ="please help me out"

if (str1.find(str2)>=0):
  print("True")
else:
  print ("False")


1
2
3
4
5
6
7
8
9
10
11
12
13
def find_substring():
    s = 'bobobnnnnbobmmmbosssbob'
    cnt = 0
    for i in range(len(s)):
        if s[i:i+3] == 'bob':
            cnt += 1
    print 'bob found: ' + str(cnt)
    return cnt

def main():
    print(find_substring())

main()


1
2
3
4
5
6
In [7]: substring ="please help me out"

In [8]: string ="please help me out so that I could solve this"

In [9]: substring in string
Out[9]: True

enter image description here </P >

去大学的使用find(),一个简单的方式是使用""作为以上。 </P >

如果子串"是目前在战略中,然后将执行if部分另有其他部分会执行。 </P >


也可以使用这个方法。 </P >

1
2
3
if substring in string:
    print(string + '
 Yes located at:'
.format(string.find(substring)))