Если вы хотите удалить повторы точек с запятой, ;
:
import re
string ='select \n current_date;; \n'
string += ';'
string += 'Select 1 ; '
string += ';'
print(re.sub(';(\s+);|(;)+',';', string))
>>
select
current_date;
;Select 1 ;
Удаляет точки с запятой с пробелами между ними или один или несколько его повторений.Первый шаблон ;(\s+);
предназначен для точек с запятой с пробелами, а второй - для одного или нескольких повторений (;)+
.
. Кроме того, не используйте пространства имен Python, например str
, для имен переменных.
Редактировать: Я только что понял, что из-за добавленных новых строк это не вернет то, что вы хотите:
Ответ, данный Ником, сортирует его путем замены точек с запятой всеми пробелами и повторениями.
print(re.sub('(;\s*)+;',';',str))
Просто для наглядности.