Если в заданном тексте нет символа *, то оставить его без изменения. В противном случае каждую латинскую букву, которая находится перед первым символом *, заменить на точку.
Помогите пожалуйста! Заранее спасибо.
import re def fun(text): if "*" in text: text1, text2 = text.split("*", 1) new_text1 = re.sub("[A-Za-z]", ".", text1) text = new_text1 + "*" + text2 return text
>>> s = 'abcd1234*abcd1234*' >>> >>> f_replace = True >>> tmp = [] >>> for ch in s: ... if f_replace: ... if ch == '*': ... f_replace = False ... if ch.lower() in 'abcdefghijklmnopqrstuvwxyz': ... tmp.append('.') ... else: ... tmp.append(ch) ... else: ... tmp.append(ch) ... >>> out = ''.join(tmp) >>> out '....1234*abcd1234*' >>>