2016-12-17 54 views
-4

说我有一个句子,如:如何以特定的方式修剪的字符串

鸟在晚上飞,有一个非常大的翼展。

我的目标是分割字符串,这样的结果出来是:

,并有一个非常大的翼

我使用split()试过,但是,我努力没有成功。我怎样才能将字符串拆分成小块,并删除字符串的开始部分和结束部分?

+6

直到你解释了这个应该遵循的逻辑之后,大多数人都可以做的是提供各种方法将输入字符串转换为输出字符串(其中有很多)。 – TigerhawkT3

+0

你真的应该只使用_dedicated_自然语言处理器。如[ntlk](http://www.nltk.org/)。 –

+0

@ TigerhawkT3我的逻辑是修剪单词'and'前面的单词和'large'后面的单词。这个解决方案的最佳途径是什么? –

回答

0
import re 
text = 'The bird flies at night and has a very large wing span.' 
l = re.split(r'.+?(?=and)|(?<=wing).+?', text)[1] 

出来:

and has a very large wing 
+0

下次给我投票,请发表评论。我不知道我的代码有什么问题 –

+0

不是一个down-voter。我的猜测是这是由于OP的评论*我的逻辑是修剪单词'and'前面的单词和'large'后面的单词。这个解决方案最好的办法是什么?*您正在使用硬编码索引 –

+0

@Moinuddin Quadri我明白了。部份 –

0

我想这是你想要的东西的最佳方式:

s = "The bird flies at night and has a very large wing span." 
and_position = s.find("and") # return the first index of "and" in the string 
wing_position = s.find("wing") # similar to the above 
result = s[and_position:wing_position+4] # this is called python's slice 

如果你不熟悉Python片,在here阅读更多。