2017-01-16 7 views
0

Ich brauche ein wenig Abhilfe. Ich habe die folgende Zeichenfolge.Entfernen von Text in Klammern und nachstehende Leerzeichen

summary = "Hi world. Hi world. Hi world. Hi world. Hi world. Hi world. Hi world. Hi world (this is here). Hi world Hi world (wow)." 

Ich versuche, alle Klammern aus der Zeichenfolge mit dem folgenden zu entfernen:

summary.gsub!(/\([^()]*\)/,"") 

Das Problem ist nicht der Raum greifen, so ergibt sich wie folgt:

" Hallo Welt Hallo Welt Hallo Welt Hallo Welt Hallo Welt Hallo Welt Hallo Welt Hallo Welt Hallo Welt Hallo Welt.

Beachten Sie den unerwünschten Speicherplatz vor dem Punkt. Wie kann ich die Regex aktualisieren, um den zusätzlichen Platz zu entfernen, der übrig bleibt, wenn ich die Klammern entferne?

Dank

+1

Verwenden 'summary.gsub (/ \ s * \ ([^()] * \) /, "")' –

+0

BTW, was '(Entfernen) Diese Text ist in Ordnung (entfernen). '? –

Antwort

2

Es ist wirklich nur eine geringfügige Modifikation es erfassen die Räume auch zu machen, wenn es welche gibt:

summary.gsub!(/\s*\([^\)]*\)/, '') 

Das wird nur führende Leerzeichen erfassen. Wenn Sie möchten, Vorder- und Hinter:

summary.gsub!(/\s*\([^\)]*\)\s*/, '') 
Verwandte Themen