/ / Ruby Wie entferne ich mehr als ein Leerzeichen? - Rubin, Schnur, Leerzeichen

Ruby Wie entferne ich mehr als ein Leerzeichen? - Rubin, String, Leerzeichen

Rubin Okay, ich möchte mehr als ein Leerzeichen in einer Zeichenfolge entfernen, wenn es welche gibt. Was ich meine ist, sagen wir, ich habe einen Text wie diesen

I want to     learn ruby more and more.

Sehen Sie dort ein mehr als ein Leerzeichen nach"Zu" und vor "Lernen" entweder ein Tabulator oder nur ein paar Leerzeichen. Nun möchte ich, wie kann ich wissen, ob es so etwas in einer Textdatei gibt, und ich möchte nur ein Leerzeichen pro Wort oder Zeichenfolge erstellen

I want to learn ruby more and more.

Kann ich Gsub verwenden? oder muss ich eine andere Methode verwenden? Ich habe Gsub ausprobiert, kann aber nicht herausfinden, wie ich es richtig implementieren kann, um das gewünschte Ergebnis zu erzielen. Hoffentlich habe ich es klar erklärt.

Antworten:

5 für die Antwort № 1

Sie können verwenden gsub einen oder mehrere Leerzeichen ersetzen (Regex / +/) zu einem einzigen Whitespace:

"I want to     learn ruby more and more.".gsub(/ +/, " ")
#=> "I want to learn ruby more and more."

5 für die Antwort № 2

String # squeeze Läufe mit mehr als einem Zeichen entfernen:

"I want to     learn ruby more and more.".squeeze(" ")
# => "I want to learn ruby more and more."