Python 从字符串末尾搜索并拆分

Python 从字符串末尾搜索并拆分,python,Python,我正在解析一个大型DBF文件以导入mongodb DBF文件中的一个字段称为Description,如下所示 WOMEN'S CC CROPPED TOP T-SHIRT - MELANGE GREY - S WOMEN'S CC CROPPED TOP T-SHIRT - MELANGE GREY - M WOMEN'S CC CROPPED TOP T-SHIRT - WHITE- L WOMEN'S CC CROPPED TOP T-SHIRT- WHITE -XL WOMEN'S CC

我正在解析一个大型DBF文件以导入mongodb

DBF文件中的一个字段称为
Description
,如下所示

WOMEN'S CC CROPPED TOP T-SHIRT - MELANGE GREY - S
WOMEN'S CC CROPPED TOP T-SHIRT - MELANGE GREY - M
WOMEN'S CC CROPPED TOP T-SHIRT - WHITE- L
WOMEN'S CC CROPPED TOP T-SHIRT- WHITE -XL
WOMEN'S CC CROPPED TOP T-SHIRT- WHITE -2XL
WOMEN'S CC CROPPED TOP T-SHIRT- WHITE -3XL
JUNIOR EP ORGANIC T-SHIRT - YELLOW- 3-4 YRS
JUNIOR EP ORGANIC T-SHIRT - YELLOW - 5-6 YRS
EP ORGANIC BIB - PINK -ONE SIZE
最好的分割方法是什么,这样我就有了
产品名称
颜色
尺寸

在大多数情况下,我可以:

try:
  description, colour_name, size = style_meta_attributes['CN_DESC'].split('- ')
  if colour_name not in colour_names:
    colour_names.append(colour_name)
  if size not in sizes_names:
    sizes_names.append(size)
except:
  try:
    description, colour_name, size = style_meta_attributes['CN_DESC'].split(' -')
 ...
对于每个
splits=['-'、'-'、'-'、'-'、'-'、'-'、'-']

但这和我穿着
T恤
3-4岁时一样有效

非常感谢您的建议。

试试看

re.split(r'\s+-\s*|\s*-\s+', description)
其思想是要求在分隔符之前或之后(或两侧)使用空格