Python中字符串查找的示例

时间:2009-03-23 18:57:43

标签: python string find

我试图找一些例子,但没有运气。有谁知道网上的一些例子?我想知道它找不到什么,以及如何从头到尾指定,我猜这将是0,-1。

9 个答案:

答案 0 :(得分:109)

我不确定你在寻找什么,你的意思是find()吗?

>>> x = "Hello World"
>>> x.find('World')
6
>>> x.find('Aloha');
-1

答案 1 :(得分:42)

您也可以使用str.index

>>> 'sdfasdf'.index('cc')
Traceback (most recent call last):
  File "<pyshell#144>", line 1, in <module>
    'sdfasdf'.index('cc')
ValueError: substring not found
>>> 'sdfasdf'.index('df')
1

答案 2 :(得分:30)

来自here

str.find(sub [,start [,end]])
    返回找到substring sub的字符串中的最低索引,这样sub包含在[start,end]范围内。可选参数start和end被解释为切片表示法。如果未找到sub,则返回-1。“

所以,举个例子:

>>> str = "abcdefioshgoihgs sijsiojs "
>>> str.find('a')
0
>>> str.find('g')
10
>>> str.find('s',11)
15
>>> str.find('s',15)
15
>>> str.find('s',16)
17
>>> str.find('s',11,14)
-1

答案 3 :(得分:17)

老实说,这就是我在命令行上打开Python并开始搞乱的情况:

 >>> x = "Dana Larose is playing with find()"
 >>> x.find("Dana")
 0
 >>> x.find("ana")
 1
 >>> x.find("La")
 5
 >>> x.find("La", 6)
 -1

Python的解释器使这种实验变得容易。 (对于具有类似翻译的其他语言也是如此)

答案 4 :(得分:6)

如果要在文本中搜索字符串的最后一个实例,可以运行rfind。

示例:

   s="Hello"
   print s.rfind('l')

输出:3

*无需导入

完整语法:

stringEx.rfind(substr, beg=0, end=len(stringEx))

答案 5 :(得分:2)

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

返回找到substring sub的字符串中的最低索引,这样sub包含在[start,end]范围内。可选参数start和end被解释为切片表示法。如果未找到sub,则返回-1。

来自the docs

答案 6 :(得分:0)

试试这个:

with open(file_dmp_path, 'rb') as file:
fsize = bsize = os.path.getsize(file_dmp_path)
word_len = len(SEARCH_WORD)
while True:
    p = file.read(bsize).find(SEARCH_WORD)
    if p > -1:
        pos_dec = file.tell() - (bsize - p)
        file.seek(pos_dec + word_len)
        bsize = fsize - file.tell()
    if file.tell() < fsize:
        seek = file.tell() - word_len + 1
        file.seek(seek)
    else:
        break

答案 7 :(得分:0)

如果x是一个字符串,你搜索y也是一个字符串,它们是两种情况: 案例1: y存在于x中,因此 x.find(y) = x中y的索引(位置)。 案例2: y不存在,因此 x.find(y) = -1这意味着在x中找不到y。

答案 8 :(得分:0)

尝试

myString = 'abcabc'
myString.find('a')

这将为您提供索引!