У меня есть строка, такая как manipulate widgets add,1,2,3
(извините, но я не могу изменить формат).удалить первые X слова и разделители строки - с несколькими разделителями
Я хочу удалить первые X слово и любые разделители, которые их предыдущие элемент.
Давайте возьмем 3 в качестве примера, таким образом, удаляя manipulate widgets add
и оставляя ,1,2,3
Или возьмите manipulate,widgets,add,1,2,3
удалить два слова (manipulate,widgets
) и оставить ,add,1,2,3
Я могу разделить строку в список с words = re.split('[' + delimiters + ']',inputString.strip())
, но я не может просто удалить кулак X слова
, скажем,
for i in range(1, numWorsdToRemove):
del words[0]
, а затем return ' '.join(words)
, потому что это дает мне 1 2 3 4
.
Как это сделать и сохранить исходные разделители неиспользуемых слов?
Чтобы сделать его интересным, строка ввода может содержать несколько пробелов или вкладок между словами; только одна запятая, но это также может иметь пробелы перед/SUC-ceeding его:
manipulate ,widgets add , 1, 2 , 3
Обратите внимание, что слова не гарантированно быть уникальным, так что я не могу взять индекс слова после того, как те, удаляться и использовать его для возврата позиционной подстроки.
[Update] Я принял «Kasramvd решение, но потом обнаружил, что это не правильно обрабатывать remover('LET FOUR = 2 + 2', 2)
или remover('A -1 B text.txt', 2)
, так что теперь я предлагаю abounty.
[Обновить ++] разделители - это пробел, табуляция и запятая. Все остальное (в том числе знак равенства, знак минус и т. Д.) Является частью слова (хотя я был бы рад, если бы ответчики рассказывали мне, как добавить новый разделитель в будущем, если он станет необходимым)
Что вы считаете разделители и что вы считаете слово? –
разделители - это пробел и табуляция. Все остальное является частью слова (хотя я был бы счастлив, если бы ответчики рассказывали мне, как добавить новый разделитель в будущем, если он станет необходимым) – Mawg
Вы по-прежнему обрабатываете запятые как разделители во втором случае: 'манипулировать, виджеты, add, 1,2,3' -> ', add, 1,2,3'. Первая и вторая запятые рассматриваются как разделители. – roadrunner66