So schreiben Sie den ersten Buchstaben jeder Welt in der Zeichenfolge in Ruby on Rails:
"goyette-xyz-is wide road".titleize returns "Goyette Xyz Is Wide Road".
Ich möchte die Ausgabe wie:
"goyette-xyz is wide road".SOME-FUNCTION should return "Goyette-xyz-is Wide Road".
titleize entfernt den Unterstrich und die Bindestriche, aber ich möchte es in der Zeichenfolge behalten.
sie können den .titleize
einfach so verwenden "i want to make the first letter of each work into a cap".titleize
sie können mehr über titleize von den Apidocks erfahren
titleize (Word) public
Schreibt alle Wörter groß und ersetzt einige Zeichen in der Zeichenfolge, um einen schöneren Titel zu erzeugen. titleize ist für die Erstellung einer schönen Ausgabe gedacht. Es wird nicht in den Internen von Rails verwendet.
titleize ist auch ein Alias als titlecase.
Beispiele:
"man from the boondocks".titleize # => "Man From The Boondocks"
"x-men: the last stand".titleize # => "X Men: The Last Stand"
"TheManWithoutAPast".titleize # => "The Man Without A Past"
"raiders_of_the_lost_ark".titleize # => "Raiders Of The Lost Ark"
wie diese Aktualität funktioniert
# File activesupport/lib/active_support/inflector/methods.rb, line 115
def titleize(Word)
humanize(underscore(Word)).gsub(/\b('?[a-z])/) { $1.capitalize }
end
Um tatsächlich in den Arbeiten "-" zu bleiben, können wir der String-Klasse eine neue Methode hinzufügen.
# ./lib/core_ext/string.rb
class String
#"goyette-xyz-is wide road".titleize_with_dashes#=> "Goyette-xyz-is Wide Road"
def titleize_with_dashes
humanize.gsub(/\b('?[a-z])/) { $1.capitalize }
end
end
Sie können die richtige Methode selbst implementieren:
class String
def my_titleize
split.map(&:capitalize).join(' ')
end
end
"goyette-xyz-is wide road".my_titleize
#=> "Goyette-xyz-is Wide Road"
Und wenn Sie wie ich gerade jetzt den ersten Buchstaben auch für gestrichelte Wörter groß schreiben möchten, können Sie dies folgendermaßen tun:
def titleize_and_keep_dashes(text)
text.split.map(&:capitalize).join(' ').split('-').map(&:titleize).join('-')
end
titleize_and_keep_dashes("goyette-xyz-is wide road")
# => "Goyette-Xyz Is Wide Road".
Fügen Sie die .capitalize
-Methode zu Ihrem String hinzu, damit der erste Buchstabe automatisch groß geschrieben wird.