2017-10-16 2 views
0

J'ai une chaîne comme ceci:correspondance partielle Ruby

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

Je dois changer une chaîne à:

"Workshop (Corporate, October 2017)" 

mais je l'ai essayé d'utiliser le code suivant:

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

Est-il possible de changer une chaîne comme je veux dire? Je suis nouveau en rubis et j'apprends toujours.

+2

Y at-il des exigences spécifiques et précises que vous pouvez décrire, comme « supprimer tous les'() 'des groupes contenant uniquement une virgule', 'et éventuellement un ou plus d'espaces blancs? " La virgule est-elle obligatoire ou facultative? –

+0

Votre '[(),]' définit une classe de caractères qui correspond à '(', ')' et ',' sans ordre particulier. – Stefan

+0

D'où vient la corde? On dirait qu'il a été généré de manière incorrecte. – Stefan

Répondre

2

Je ne voudrais pas utiliser une expression rationnelle pour cela:

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