Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中给出起始词和结束词时,从字符串中提取文本_Python_String - Fatal编程技术网

在python中给出起始词和结束词时,从字符串中提取文本

在python中给出起始词和结束词时,从字符串中提取文本,python,string,Python,String,给定起始字符串和结束字符串时,如何从字符串中提取文本 s = "Waiting is a 2015 Indian comedy-drama film directed by Anu Menon, released in India on 27 May 2016. Produced by Priti Gupta of Ishka Films and Manish Mundra of Drishyam Films, the film was co-written by Menon and James

给定起始字符串和结束字符串时,如何从字符串中提取文本

s = "Waiting is a 2015 Indian comedy-drama film directed by Anu Menon, released in India on 27 May 2016. Produced by Priti Gupta of Ishka Films and Manish Mundra of Drishyam Films, the film was co-written by Menon and James Ruzicka"

begining = "Produced"
ending = "Films" 
输出应为:

由Ishka电影公司的Priti Gupta和Drishyam电影公司的Manish Mundra制作

您可以使用python中的字符串方法并使用切片

对于您的特定示例,类似于这样的内容应该可以工作:

s[s.index(b):s.index(e)+len(e)]
上面的代码执行以下操作:
s.index(b)
查找
b
中字符串左侧的第一个匹配项。类似的
s.index(e)
。由于您还希望包含结束词,我们只需将结束字符串中的字符数添加到最后一个索引中
s[x:y]
为您提供从x到y的字符串“切片”。

您可以使用python中的字符串方法并使用切片

对于您的特定示例,类似于这样的内容应该可以工作:

s[s.index(b):s.index(e)+len(e)]

上面的代码执行以下操作:
s.index(b)
查找
b
中字符串左侧的第一个匹配项。类似的
s.index(e)
。由于您还希望包含结束词,我们只需将结束字符串中的字符数添加到最后一个索引中
s[x:y]
为您提供从x到y的字符串“切片”。

使用
str.find
str.rfind
函数的解决方案需要额外检查(确保找到两个单词):

输出:

Produced by Priti Gupta of Ishka Films and Manish Mundra of Drishyam Films

使用
str.find
str.rfind
的解决方案通过额外的检查(确保两个词都找到)起作用:

输出:

Produced by Priti Gupta of Ishka Films and Manish Mundra of Drishyam Films

将字符串命名为
str
是个坏主意,因为这会影响内置的
str()
方法。我知道你发布的只是一个例子,我想我会指出这一点,以防你不知道:-)对不起,我急于问这个问题。给你的字符串命名
str
是个坏主意,因为这会影响内置的
str()
方法。我知道你发布的只是一个例子,我想我会指出这一点,以防万一你不知道:-)对不起,我急于问这个问题。我遇到了一个问题。如果我有重复的话怎么办?@BharathShetty,那么,你应该定义搜索的规则。。这就是我遇到的问题。@BharathShetty,你可以用新问题提出新问题我遇到了问题。如果我有重复的话怎么办?@BharathShetty,那么,你应该定义搜索的规则。。这就是我遇到的问题。@BharathShetty,你可以用新问题提出新问题