Ich habe Strings, die Text in Klammern und verschachtelte Klammern enthalten, wie folgt:
(Order Filled (today))
Ich möchte den Text extrahieren, um das folgende Ergebnis zu erhalten:
Order Filled today
Wie geht das am effizientesten?
string = '(Order Filled (today))'
string.replace('(','').replace(')','')
Ich weiß, dass Sie danach gefragt haben, most efficient way
aber wenn Sie die replace
Funktion verwenden, wird auch das entfernt non nested parentheses
, also habe ich eine Funktion, die nur verschachtelte Klammern entfernt:
def markup(message):
msg = message
result = ""
markups = "()"
num = 0
# Check if the parentheses
def has_ending(_str, i, msg):
if _str == "(":
return ")" in msg[i+1:]
elif _str == ")":
return False
else:
return False
for i in range(len(msg)) :
t = msg[i]
s = t
# if the char is '(' or ')'
if t in markups:
if has_ending(t, i, msg) and num%2 == 0 :
s = ""
num += 1
elif t == ")" and num%2 == 1 :
s = ""
num += 1
# else
else :
s = t
result += s
return result
print(markup('Hello )(O) (O)( (O)'))
# prints 'Hello )O O (O'
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen