2013-12-13 4 views
-2

У меня есть список из более чем 6000 строк, эти строки - это названия компаний. К концу этих строк добавляются C, E, B, BE, C/CARD, CE /, BNOE. Эти прикрепленные символы могут быть в любом порядке (или вообще отсутствуют) и иметь любое количество пробелов между ними, по-видимому, зависящее от того, сколько раз служба бухгалтерии хотела перейти на пробел. Мне нужно удалить эти примеси из строки без создания имен компаний (что очевидно может включать «B», «C», «BE» и т. Д. И может заканчиваться на «E», «C» и т. Д. .)Удалить содержимое конца строки, где содержимое отображается в переменном порядке, без использования остальной строки

Фактор, который может различать существование C, E, B, BE, C/CARD, CE /, BNOE, заключается в том, что они всегда имеют пространство, которое предшествует им. Как таковой, я думал, что могу разбить строку пробелами, проверить каждый элемент для соответствия (C, E, B, BE, C/CARD, CE /, BNOE) и удалить соответственно. Но это кажется очень простым, есть ли лучший способ сделать это?

Пример строки:

COMPANY NAME (26 spaces) C/CARD 

COMPANY NAME (15 spaces) C/CARD E 

COMPANY NAME (5 spaces) B E CE/ C/CARD 
+1

, если 'это кажется очень основным', почему вы, по крайней мере, не опубликовали попытку решения? –

+0

Пожалуйста, покажите нам, что вы сделали, и демонстрацию, которую вы на самом деле попробовали. –

+0

Буду признателен, если удастся удалить эти комментарии по понятным причинам. Пожалуйста, подумайте о конструктивной обратной связи в будущих ответах. – Phoenix

ответ

2

Я хотел бы подойти к нему так:

lst = s.split(' ') # split by spaces 
while lst [-1] in ["", "B", "E", "C/CARD" ...]: # define items to remove 
    lst = lst[:-1] # remove last item 
s = " ".join(lst) # put it back together 

Обратите внимание, что это работает для "That E Company", но будет ломаться, например, если название компании "Some Company E".

+1

Если бы я был случайным, я бы сказал, что было бы очень сложно правильно разобрать поток данных во что-то разумное, видя, что ОП описывает данные как в основном мусор: / –

Смежные вопросы