假设我们从 1 开始计数,我在索引中返回一个字符串的位置,例如:
给定:
s = 'hi how are you'
和索引 i = 4 我想返回完整的标记,在这种情况下它将是 how 或 i=7 我想返回 are 或者 i = 11 如果 i = 3 我想返回 you >,然后返回空格 。知道如何在给定字符串位置的情况下获取完整标记吗?
请您参考如下方法:
创建一个函数,检查 s[i] 是否为空白然后返回空白。否则将字符串从 start 拆分为 i 和 i 以空格和 concat 结束,并返回两个拆分的最后一个和第一个元素。像这样:
def getToken(str, i):
if str[i] == ' ': # if whitespace, return white space
return str[i]
return str[:i].split(' ')[-1]+str[i:].split(' ')[0] # else return the word
结果:
>>> getToken(s, 0)
'hi'
>>> getToken(s, 1)
'hi'
>>> getToken(s, 2)
' '
>>> getToken(s, 3)
'how'
>>> getToken(s, 11)
'you'
>>> getToken(s, 10)
' '
索引从 0 开始,如果你想索引从 1 开始,只需将 yourindex-1 传递给函数即可。
