所以我想做到这一点,这样的事情就会发生:
print(locate("Hello world!", "world!"))
returns: 6 11
因此,您可以用它来查找完整的词组,而不仅仅是x.index("Hello!")
的第一个字母
答案 0 :(得分:0)
您只需将子字符串的长度添加到匹配的索引中
def locate(full, sub):
index = full.index(sub)
return index, index + len(sub)
例如
>>> locate("Hello world!", "world!")
(6, 12)
您可以使用它来切回原始字符串
>>> s = "Hello world!"
>>> start, end = locate(s, "world!")
>>> s[start:end]
'world!'
请注意,如果找不到子字符串,str.index
会引发ValueError
。
答案 1 :(得分:0)
您可以使用正则表达式-
import re
r = re.compile("world")
match = r.search("Hello world!")
print(match.span())
答案 2 :(得分:0)
def locate(string, key):
start = string.index(key)
return start, start+len(key)