Я хочу заменить повторяющиеся экземпляры символа «*»
в строке с одним экземпляром «*»
. Например, если строка имеет вид «*** abc ** de * fg ****** h "
, я хочу, чтобы он был преобразован в " * abc * de * fg * h "
.
I ' m довольно плохо знаком с python (и программированием в целом) и пытался использовать регулярные выражения и string.replace (), например:
import re
pattern = "***abc**de*fg******h"
pattern.replace("*"\*, "*")
где \ *
должен заменить все экземпляры символа «*». Но я получил: SyntaxError: неожиданный символ после символа продолжения строки.
Я также пытался манипулировать им с помощью цикла for, например:
def convertString(pattern):
for i in range(len(pattern)-1):
if(pattern[i] == pattern[i+1]):
pattern2 = pattern[i]
return pattern2
, но здесь есть ошибка, при которой выводится только "*", потому что pattern2 = pattern [i] постоянно переопределяет, что такое pattern2 ...
Любая помощь приветствуется.