2017-01-25 2 views
0

Da string:Wie alle Zeichen außer Punkt mit regexp in Ruby übereinstimmen?

I can haz kittens. Mmmm. Tasty, tasty kittens. 

ich brauche:

#without dot 
I can haz kittens Mmmm Tasty, tasty kittens 

Ich schreibe:

string = 'I can haz kittens. Mmmm. Tasty, tasty kittens.' 
/[^\.]*/.match(string) 

Als nächstes weiß ich nicht.

+0

Ersetzen '\ .' von' '' '(leere Zeichenkette) . 'str.gsub! (/\./, '')' – Tushar

+0

Warum 'match' verwenden, wenn Sie ersetzen müssen? Siehe https://ideone.com/bE8xO6. Welche genaue Ausgabe willst du bekommen? Wenn Sie ein Array von Textteilen benötigen, die aus etwas anderem als einem Punkt bestehen, können Sie ['s.scan (/ [^.] + /)'] (Https://ideone.com/R21r8G) verwenden. –

+0

Ich bin neu. Jetzt denke ich – Vladimir

Antwort

3

Sie brauchen nur String#delete:

"I can haz kittens. Mmmm. Tasty, tasty kittens.".delete('.') 

Wenn Sie wirklich eine Regex verwenden möchten, können Sie String#gsub verwenden können:

"I can haz kittens. Mmmm. Tasty, tasty kittens.".gsub(/\./,'') 
+0

... oder benutze [String # tr] (http://ruby-doc.org/core-2.3.0/String.html#method-i-tr): 'str.tr ('. ',' ') 'oder' split' dann 'join':' str.split ('. '). join'. –

+0

'tr' ist ein guter Tipp, wahrscheinlich besser als' gsub'. Vielen Dank! Es muss jedoch kein Array erstellt werden. –

+1

... sag einfach ... –

Verwandte Themen