2017-10-16 5 views
0

Ich habe eine Zeichenfolge wie folgt:Rubin gsub teilweise Übereinstimmung

string = "Workshop (,) (,) (Corporate, October 2017)" 

Ich brauche eine Zeichenfolge zu ändern zu sein:

"Workshop (Corporate, October 2017)" 

aber ich habe versucht, den folgenden Code:

string.gsub(/([(),])/, '') 
#=> "Workshop Corporate October 2017" 

Ist es möglich, eine Zeichenfolge zu ändern, wie ich meine? Ich bin neu in Ruby und lerne immer noch.

+2

Gibt es spezifische und genaue Anforderungen Sie können, wie „entfernen Sie alle'() 'Gruppen enthalten nur ein Komma', 'und gegebenenfalls ein beschreiben oder mehr Whitespaces? " Ist das Komma erforderlich oder optional? –

+0

Ihr '[(),]' definiert eine Zeichenklasse, die in beliebiger Reihenfolge mit '(', ')' und ',' übereinstimmt. – Stefan

+0

Woher kommt die Saite? Sieht so aus, als wäre es falsch generiert worden. – Stefan

Antwort

2

Ich möchte einen regulären Ausdruck für diese nicht verwenden:

string = "Workshop (,) (,) (Corporate, October 2017)" 
string.gsub(' (,)', '') 
#=> "Workshop (Corporate, October 2017)" 
Verwandte Themen