我是否需要更多的代码行才能使字符串中的每个单词都使用ruby来大写?
h = "hello world and good morning"
h.capitalize #=> Hello world and good morning
我需要所有的词都被大写。怎么样?没有提到任何内容here。
我是否需要一个凌乱的代码来提取每个单词,使用正则表达式,转换为大写然后放回字符串?听起来很混乱。有一个简单的方法吗?
答案 0 :(得分:1)
h = "hello world and good morning"
h.split.map(&:capitalize).join(' ')
#=> "Hello World And Good Morning"
答案 1 :(得分:1)
以下是使用gsub
的替代方法:
h = "hello world and good morning"
h.gsub(/(?<=\A|\s)\w/, &:upcase)
# => "Hello World And Good Morning"
它基本上在任何&#34;字符&#34;上运行upcase
方法。 (\w
)在字符串开头(\A
)或空格(\s
)之后出现。{/ p>
答案 2 :(得分:0)
如果在本网站的其他地方有帖子,那么你可以关闭它,但我找到了答案:
h.split.map(&:capitalize).join(' ')
#=> Hello World And Good Morning