在Python中查找string的示例
我试图find一些例子,但没有运气。 有谁知道网上的一些例子? 我想知道它什么时候找不到,以及如何指定从开始到结束,我猜将会是0,-1。
你也可以使用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
我不确定你在找什么,你的意思是find()
?
>>> x = "Hello World" >>> x.find('World') 6 >>> x.find('Aloha'); -1
从这里 :
str.find(sub [,start [,end]])
返回find子string的string中的最小索引,使得sub包含在[start,end]范围内。 可选参数开始和结束被解释为切片符号。 如果没有find子项,则返回-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
老实说,这就是我刚刚在命令行打开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的解释器使得这种实验变得简单。 (其他语言也有类似的翻译)
如果要search文本中string的最后一个实例,可以运行rfind。
例:
s="Hello" print s.rfind('l')
输出:3
*不需要import
完整的语法:
stringEx.rfind(substr, beg=0, end=len(stringEx))
find( sub[, start[, end]])
返回find子string的string中的最小索引,使得sub包含在[start,end]范围内。 可选参数开始和结束被解释为切片符号。 如果未find子项,则返回-1。
从文档 。
尝试这个:
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