2009-12-22 4 views

Répondre

7

Au lieu d'éliminer ce que vous ne voulez pas, il est souvent plus clair de sélectionner ce que vous voulez (en utilisant des parenthèses). En outre, cela ne nécessite qu'une seule évaluation regex:

s.match(/^\D*(.*?)\D*$/)[1] 

Ou, ce raccourci pratique:

s[/^\D*(.*?)\D*$/, 1] 
+2

Ou peut-être une expression régulière plus simple en fonction du type de chaînes que vous avez. '" abc123def "[/ \ d + /] # =>" 123 "' –

3

Peut-être un seul #gsub(/(^\D+)|(\D+$)/, '')

En outre, en cas de doute Rubular il.

+0

+1 pour Rubular! –