У меня есть вывод команды в табличной форме. Я разбираю этот результат из файла результата и сохраняю его в строке. Каждый элемент в одной строке разделяется одним или несколькими пробельными символами, поэтому я использую регулярные выражения, чтобы соответствовать 1 или более пробелам и разбивать их. Однако между каждым элементом вставлено пространство:Сплит-строка на основе регулярного выражения
>>> str1="a b c d" # spaces are irregular
>>> str1
'a b c d'
>>> str2=re.split("()+", str1)
>>> str2
['a', ' ', 'b', ' ', 'c', ' ', 'd'] # 1 space element between!!!
Есть ли лучший способ сделать это?
После каждого раскола str2
прилагается к списку.
Я отклонил этот вопрос. Причина в том, что, хотя сам вопрос имеет значение, данный пример не является достаточно сложным, чтобы действительно требовать запрошенного решения. Регулярное выражение потребуется, если у вас есть, например, блоки слов, блоки чисел и вы хотите разделить их на разные переменные. – erikbwork
@erikbwork Я хотел удалить ненужный элемент пространства в результирующей строке ''str2'' – user2763554
Да, и вы можете добиться этого простым использованием' str1.split() '. Нет необходимости в регулярном выражении. – erikbwork