Python 如何从给定位置索引的文本中提取单词?
给出这样一个文本:Python 如何从给定位置索引的文本中提取单词?,python,string,Python,String,给出这样一个文本: s = "Lorem ipsum dolor sit amet" 在给定位置索引的情况下,如何从中提取任何单词?例如,如果pos为6或8,则结果应为“ipsum”。如果pos是18、19或20,那么结果应该是“sit”。不要像在c/c++中经常使用的那样,将str用作字符串名,因为这样会对内置类型名str进行阴影处理 试试这个: In [95]: s[1+s.rfind(' ', 0,8): s.find(' ', 8)] Out[95]: 'ipsum' 使其成为可重用
s = "Lorem ipsum dolor sit amet"
在给定位置索引的情况下,如何从中提取任何单词?例如,如果
pos
为6或8,则结果应为“ipsum”。如果pos
是18、19或20,那么结果应该是“sit”。不要像在c/c++中经常使用的那样,将str
用作字符串名,因为这样会对内置类型名str
进行阴影处理
试试这个:
In [95]: s[1+s.rfind(' ', 0,8): s.find(' ', 8)]
Out[95]: 'ipsum'
使其成为可重用的功能:
In [100]: def foo(s, n):
...: return s[1+s.rfind(' ', 0,n): s.find(' ', n)]
In [101]: foo(s, 20)
Out[101]: 'sit'
不要像在c/c++中经常使用的那样,将
str
用作字符串名,因为这样会使内置类型名str
产生阴影
试试这个:
In [95]: s[1+s.rfind(' ', 0,8): s.find(' ', 8)]
Out[95]: 'ipsum'
使其成为可重用的功能:
In [100]: def foo(s, n):
...: return s[1+s.rfind(' ', 0,n): s.find(' ', n)]
In [101]: foo(s, 20)
Out[101]: 'sit'
不要将
str
用作变量名;)@张晓晨:像你这样没有解释的建议是毫无用处的。初学者不会知道为什么永远不要使用str作为变量名。@BryanOakley用这个解释编辑了我的答案;)不要将str
用作变量名;)@张晓晨:像你这样没有解释的建议是毫无用处的。初学者不会知道为什么永远不要使用str作为变量名。@BryanOakley用这个解释编辑了我的答案;)好方法,好方法。