Ruby相当于PHP的ucfirst()函数

Tom*_*man 8 ruby string ruby-on-rails

Ruby中最好的方法是什么(使用Rails,如果相关的话)来大写字符串的第一个字母?

请注意,这String#capitalize不是我想要的,因为除了大写字符串的第一个字母之外,这个函数还使所有其他字符小写(我不想要它 - 我想保持它们不受影响):

>> "a A".capitalize
=> "A a"
Run Code Online (Sandbox Code Playgroud)

Gre*_*ell 15

您可以使用"sub"来获得您想要的内容(注意:我没有使用多字节字符串对其进行测试)

"a A".sub(/^(\w)/) {|s| s.capitalize}
Run Code Online (Sandbox Code Playgroud)

(当然,你可以将monkeypatch String添加为方法,如果你愿意的话)


khe*_*lll 14

在Rails中你有这个String#titleize方法:

"测试字符串标题化方法".titleize#=>"测试字符串标题化方法"

  • 请注意`titleize`会进行其他更改,例如在[CamelCase](https://en.wikipedia.org/wiki/CamelCase)单词中插入空格. (3认同)

gle*_*man 6

大写第一个char,并将其保存回字符串

s = "a A"
s[0] = s[0,1].upcase
p s # => "A A"
Run Code Online (Sandbox Code Playgroud)

要么,

class String
  def ucfirst!
    self[0] = self[0,1].upcase
    self
  end
end
Run Code Online (Sandbox Code Playgroud)