从字符串末尾搜索并拆分

时间:2014-09-01 08:55:58

标签: 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 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

分割这个内容的最佳方式是什么,以便我拥有product namecoloursize

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

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-SHIRT3-4 YRS

任何建议都非常感谢。

1 个答案:

答案 0 :(得分:2)

尝试

re.split(r'\s+-\s*|\s*-\s+', description)

这个想法是在分隔符之前或之后(或两边)要求空格。