如何在Ruby中将string转换为大写或小写
如何在Ruby中将string转换为大写或小写?
Ruby有几个方法来改变string的大小写。 要转换为小写,请使用downcase
:
"hello James!".downcase #=> "hello james!"
同样,每个字母大写都是大写, capitalize
字母的首字母大写,但其余的小写字母小写:
"hello James!".upcase #=> "HELLO JAMES!" "hello James!".capitalize #=> "Hello james!" "hello James!".titleize #=> "Hello James!"
如果你想修改一个string,你可以为这些方法添加一个感叹号:
string = "hello James!" string.downcase! string #=> "hello james!"
有关更多信息,请参阅string的文档 。
通过打开irb并运行,您可以findstring上的所有可用方法:
"MyString".methods.sort
有关特定于string的方法列表:
"MyString".own_methods.sort
我用这个来找出关于我可能不知道存在的对象的新的和有趣的东西。
就像@endeR所提到的,如果国际化是一个问题,unicode_utils创业板是绰绰有余的。
$ gem install unicode_utils $ irb > require 'unicode_utils' => true > UnicodeUtils.downcase("FEN BİLİMLERİ", :tr) => "fen bilimleri"
Ruby 2.4中的string操作现在是unicode敏感的。
找出“ 案例 ”的方法:
$ irb > "MyString".methods.grep(/case/) => [:casecmp, :upcase, :downcase, :swapcase, :upcase!, :downcase!, :swapcase!]
“串” .downcase
…和大写字母是:
"Awesome String".upcase => "AWESOME STRING"
Rails Active Support gem提供国际化支持的upcase
, downcase
, swapcase
, capitalize
等方法:
gem install activesupport irb -ractive_support/core_ext/string "STRING ÁÂÃÀÇÉÊÍÓÔÕÚ".mb_chars.downcase.to_s => "string áâãàçéêíóôõú" "string áâãàçéêíóôõú".mb_chars.upcase.to_s => "STRING ÁÂÃÀÇÉÊÍÓÔÕÚ"
要将一个句子或一串文字转换为资本案例,是非常直接的:
s.gsub(/\w+/) { |w| w.capitalize}
s.downcase # return a new String s.downcase! # modify s in place s.upcase # (and... s.upcase! # ...of course)
链接到文档: http : //ruby-doc.org/core/String.html
另请参阅#capitalize ,它是!
形成。
简单,
"string".downcase # to lowercase "string".upcase # to uppercase
你可以在这里阅读ruby-doc: http : //ruby-doc.org/core-2.2.3/String.html#method-i-upcase
你可以在Ruby中使用下面给出的string方法
my_name = "Vivek Panday"; puts my_name.capitalize; puts my_name.upcase; puts my_name.downcase; puts my_name.reverse;
Ruby的string类提供了一些方法来改变string的大小写。
Upcase Upcase用于大写string的每个字母。
“pawan”.upcase returns: PAWAN
Downcase Downcase用于使string中的每个字母都小写。
“PAWAN”.downcase returns: pawan
大写另一种string类的方法是大写。 这种方法大写字母的第一个字母,同时缩小其余的字母。
“pAWAN”.capitalize returns: Pawan
Titleize标题大写string中的每个单词。 请记住,只有在Rails框架(或者仅仅是ActiveSupport创业板)中才能使用它。
name = “pawan Yadav” name.titleize returns: Pawan Yadav
参考http://lesseverything.com/blog/how-to-convert-a-string-to-upper-or-lower-case-in-ruby/#
你可以使用Rubystring方法
对于Upcase
Upcase用于大写string的每个字母。
“something”.upcase
返回:SOMETHING
对于
Downcase用于使string中的每个字母都小写。
“SOMETHING”.downcase
回报:某事
由于Ruby 2.4有一个完整的Unicode格式映射 。 来源: https : //stackoverflow.com/a/38016153/888294 。 有关详细信息,请参阅Ruby 2.4.0文档: https : //ruby-doc.org/core-2.4.0/String.html#method-i-downcase
此方法接受一串小写字母,并产生一个新的string,大写每个单词的第一个字母。
def capitalize_words(string) words = string.split(" ") idx = 0 while idx < words.length word = words[idx] word[0] = word[0].upcase idx += 1 end return words.join(" ") end