2012-06-18 23 views
2

我目前正在学习正则表达式(使用ruby),我希望找到第一个出现的非数字字符并使其大写。gsub - 字符大写第一次出现的转换

我一直在试图用:

word.gsub!(/\D{0,1}/) do |w| 
    w.capitalize 
end 

希望它会正好赶上一个非数字的第一次出现,而是它返回所有字母大写的。 这是做什么正确的方法?

非常感谢!

回答

6

g in gsub!代表“全局”,意思是“字符串中的每一次出现”。您需要常规sub!。那只会找到第一个。干杯!

+0

哇谢谢!太好了! – alemur

+2

你也可以将它缩短为'word.sub!/\ D /,&:大写'。 –

相关问题