如何使用Ruby获取字符串中的第一个字符?
最终,我要做的就是取一个人的姓氏,然后用它来创建一个首字母。
所以如果字符串是"Smith“,我只想要"S”。
发布于 2010-04-28 23:41:03
您可以使用Ruby的开放类来使代码更具可读性。例如,如下所示:
class String
def initial
self[0,1]
end
end
将允许您对任何字符串使用initial
方法。因此,如果您有以下变量:
last_name = "Smith"
first_name = "John"
然后你就可以非常清晰和清晰地得到缩写了:
puts first_name.initial # prints J
puts last_name.initial # prints S
这里提到的另一种方法在Ruby 1.8上不起作用(并不是说你应该再用1.8了!--但是当这个答案发布时,它仍然很常见):
puts 'Smith'[0] # prints 83
当然,如果你不是经常这样做,那么定义方法可能有些夸张,你可以直接这样做:
puts last_name[0,1]
发布于 2010-04-29 07:29:55
"Smith"[0..0]
适用于ruby 1.8和ruby 1.9。
发布于 2013-12-25 04:40:09
为了完整起见,从Ruby1.9开始,String#chr返回字符串的第一个字符。它在2.0和2.1中仍然可用。
"Smith".chr #=> "S"
https://stackoverflow.com/questions/2730854
复制相似问题