Ruby如何获取字符串的第一个字符?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (14)

如何使用Ruby获得字符串中的第一个字符?

最终,我要做的是取某人的姓,然后用它创建一个初始的名字。

所以如果字符串是“Smith”,我只想要“S”。

提问于
用户回答回答于

可以使用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

这里提到的另一种方法在Ruby1.8上不起作用。

puts 'Smith'[0]           # prints 83

也可以直接这样做:

puts last_name[0,1] 
用户回答回答于

如果使用的是Ruby的最新版本(1.9.0或更高版本),下面应该可以使用:

'Smith'[0] # => 'S'

如果使用的是1.9.0+或1.8.7,下面的操作应该可以:

'Smith'.chars.first # => 'S'

如果使用的版本比1.8.7还旧,估计只能这样:

'Smith'.split(//).first # => 'S'

扫码关注云+社区