我需要从字符串中的列表中找到确切的单词。Python从字符串中的列表中搜索确切的单词?
我试过下面的代码。在这里,我从列表中获得单个单词的精确匹配,但是如何匹配列表中的两个单词。
categories_to_retain =
['SOLID',
'GEOMETRIC',
'FLORAL',
'BOTANICAL',
'STRIPES',
'ABSTRACT',
'ANIMAL',
'GRAPHIC PRINT',
'ORIENTAL',
'DAMASK',
'TEXT',
'CHEVRON',
'PLAID',
'PAISLEY',
'SPORTS']
x = " Beautiful Art By Design Studio **graphic print** Creates A **TEXT** Design For This Art Driven Duvet. Printed In Remarkable Detail On A Woven Duvet, This Is An Instant Focal Point Of Any Bedroom. The Fabric Is Woven Of Easy Care Polyester And Backed With A Soft Poly/Cotton Blend Fabric. The Texture In The Fabric Gives Dimension And A Unique Look And Feel To The Duvet."
x = x.upper()
print x
#x = "GRAPHIC"
#x = "GRAPHIC PRINTS"
matches = [cat for cat in categories_to_retain if cat in x.split()]
matches
Output:
['TEXT']
在这里你可以看到有一个词出现在我的名单'图形打印'。我想从我的字符串中找到这个词。
另外我需要找到单词,即使它以复数或过去式存在。例如,条纹,条纹,图形打印等
感谢, NIRANJAN
“图形打印”无法找到,因为它被分成“**图形”和“打印**”,我想。 – rocksteady
使用带有边界的正则表达式 –
您需要自己创建一个split()函数,该函数在变量x中定义的那两个星号内查找单词。 – rocksteady