检查句子是否包含certrain子字符串

时间:2017-02-02 17:32:19

标签: python

我有一个包含某些句子的数据框,例如df:

import pandas as pd
df = pd.DataFrame([['how are you', 1], ['this is a random text', 1]], columns=('body', 'ticketID'))
list = df['body'].tolist()

现在我正在寻找一种最有效的方法来检查字符串是否包含子串(列表中的项)。所以如果我们有这个例子

somestring1 = "this is a random text in a book"
somestring2 = "this text contains an error"

功能应该是

def getRidOfSentencePart():
   #//

getRidOfSentencePart(somestring1)应该在书中评估"" 和getRidOfSentencePart(somestring1)应该评估为"此文本包含错误"

有关如何以最有效的方式对此进行编程的任何想法?

1 个答案:

答案 0 :(得分:1)

如果你想" cut"从您从另一个给定字符串的数据框中提取的列表中的所有字符串,您只需迭代列表并替换为空字符串。

def getRidOfSentencePart(somestring):
    for i in dflist:
        somestring = somestring.replace(i, '')
    return somestring

如果要在第一个和最后一个位置修剪空格,可以改为return somestring.strip()。虽然看起来非常简单,但我无法报告这种方法的效率。