2013-08-10 2 views
1

J'ai essayé re.search mais je ne connais pas la syntaxe exacte de l'expression régulière à remplacer (rien entre les deux) avec rien. supposer, ont la chaîne suivante:Python - Regex Comment remplacer des caractères dans une chaîne?

D08838 Acotiamide hydrochloride hydrate (JAN/BBC); Acotiamide hydrochloride (USAN) Antagonist 

Je veux obtenir quelque chose comme ceci:

D08838 Acotiamide hydrochloride hydrate; Acotiamide hydrochloride Antagonist 
+0

essayez 're.sub' ... – JBernardo

+1

[Voici un bon tutoriel] (http://regular-expressions.info) pour vous aider à démarrer avec des expressions régulières. En ce qui concerne python, je trouve la [documentation] (http://docs.python.org/2/library/re.html) assez complète. –

Répondre

0

Je vais pour:

import re 
s = 'D08838 Acotiamide hydrochloride hydrate (JAN/BBC); Acotiamide hydrochloride (USAN) Antagonist' 
print re.sub('(\s*\(.*?\))', '', s) 
#D08838 Acotiamide hydrochloride hydrate; Acotiamide hydrochloride Antagonist 
0

Que diriez-vous ceci:

>>> import re 
>>> s = "D08838 Acotiamide hydrochloride hydrate (JAN/BBC); Acotiamide hydrochloride (USAN) Antagonist" 
>>> re.sub('\s\([\w/]+\)', '', s) 
'D08838 Acotiamide hydrochloride hydrate; Acotiamide hydrochloride Antagonist' 
Questions connexes