如何从没有空格的字符串中提取单词列表
How to extract list of words out of a string with no spaces
我有一个数据集,其中一列包含句子,在某些句子中,单词粘在一起。如果每一行都出现,我想提取这个词。 ingredients_list=['water','milk','yeast','banana','sugar','ananas']。我使用这段代码来提取单词
ingredients_list=['water','milk', 'yeast', 'banana', 'sugar', 'ananas']
path = '|'.join(r"\b{}\b".format(x) for x in ingredients_list)
ing_l = df['ingredients'].str.findall(pat, flags=re.I).str.join(' ')
ing_l= ing_l.replace("","Unknown")
它很好用,但是,它没有从 ingredients_list 中提取单词,如果其中一个单词与另一个单词卡在一起,我的意思是在句子“breadmilkcoffee”中它无法提取其中的“milk”坚持的话。
我问了一个相关的问题来帮助我订购我提取的单词 。
但我没有提取所有的话。
你有办法解决这个问题吗?非常感谢
您正在使用 \b
特殊字符,它断言模式出现在单词边界处。
删除它应该允许您匹配 ingredients_list
中的项目,当它们与字符串的其余部分没有被 space 分隔时。
ingredients_list=['water','milk', 'yeast', 'banana', 'sugar', 'ananas']
path = '|'.join(r"{}".format(x) for x in ingredients_list)
ing_l = df['ingredients'].str.findall(pat, flags=re.I).str.join(' ')
ing_l= ing_l.replace("","Unknown")
我有一个数据集,其中一列包含句子,在某些句子中,单词粘在一起。如果每一行都出现,我想提取这个词。 ingredients_list=['water','milk','yeast','banana','sugar','ananas']。我使用这段代码来提取单词
ingredients_list=['water','milk', 'yeast', 'banana', 'sugar', 'ananas']
path = '|'.join(r"\b{}\b".format(x) for x in ingredients_list)
ing_l = df['ingredients'].str.findall(pat, flags=re.I).str.join(' ')
ing_l= ing_l.replace("","Unknown")
它很好用,但是,它没有从 ingredients_list 中提取单词,如果其中一个单词与另一个单词卡在一起,我的意思是在句子“breadmilkcoffee”中它无法提取其中的“milk”坚持的话。
我问了一个相关的问题来帮助我订购我提取的单词
您正在使用 \b
特殊字符,它断言模式出现在单词边界处。
删除它应该允许您匹配 ingredients_list
中的项目,当它们与字符串的其余部分没有被 space 分隔时。
ingredients_list=['water','milk', 'yeast', 'banana', 'sugar', 'ananas']
path = '|'.join(r"{}".format(x) for x in ingredients_list)
ing_l = df['ingredients'].str.findall(pat, flags=re.I).str.join(' ')
ing_l= ing_l.replace("","Unknown")