Я пытаюсь разделить предложение на три разные переменные для последующего использования, и мне нужно указать некоторые правила, которые будут разбивать его так, как мне нужно.
Пример отправки:
sentence = 'SUPER Jumper Colour BROWN-8'
Из этого мне нужно три переменные
textBeforeColour = 'SUPER Jumper Colour'
Colour = 'BROWN'
Size = '8'
PS. цвет (КОРИЧНЕВЫЙ-8) всегда будет в ЗАГЛАВНЫХ знаках. Что угодно, прежде чем цвет (КОРИЧНЕВЫЙ-8) может иметь некоторые слова в КАПС, но не все.
Я создал скрипт, который будет делать именно это, но я знаю, что если текст немного изменится, скрипт сломается. Например
import re
text = 'SUPER Jumper Colour BROWN-8'
list = text.split()
myList = []
lastWord = list[-1]
for iterating_var in list:
if iterating_var is not list[-1]: #THIS GIVES ME THE 'BEFORE COLOUR' TEXT
myList.append(iterating_var)
if lastWord == 'SIZE':
print('ONE SIZE') #This is used when the Size is not a number but comes as ONE SIZE
else:
splitText = re.split('-',lastWord)
print(splitText[0])
print(splitText[1])
Colour = splitText[0]
size = splitText[1]
Теперь все это работает. Но если строка будет использовать цвет: LIGHT BLUE - этот скрипт сохранит «LIGHT» с переменной предложения, а не с переменной цвета.