首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Ruby:如何获取字符串的第一个字符

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

Stack Overflow用户
提问于 2010-04-28 23:25:13
回答 11查看 148K关注 0票数 117

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

最终,我要做的就是取一个人的姓氏,然后用它来创建一个首字母。

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

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2010-04-28 23:41:03

您可以使用Ruby的开放类来使代码更具可读性。例如,如下所示:

代码语言:javascript
复制
class String
  def initial
    self[0,1]
  end
end

将允许您对任何字符串使用initial方法。因此,如果您有以下变量:

代码语言:javascript
复制
last_name = "Smith"
first_name = "John"

然后你就可以非常清晰和清晰地得到缩写了:

代码语言:javascript
复制
puts first_name.initial   # prints J
puts last_name.initial    # prints S

这里提到的另一种方法在Ruby 1.8上不起作用(并不是说你应该再用1.8了!--但是当这个答案发布时,它仍然很常见):

代码语言:javascript
复制
puts 'Smith'[0]           # prints 83

当然,如果你不是经常这样做,那么定义方法可能有些夸张,你可以直接这样做:

代码语言:javascript
复制
puts last_name[0,1] 
票数 134
EN

Stack Overflow用户

发布于 2010-04-29 07:29:55

代码语言:javascript
复制
"Smith"[0..0]

适用于ruby 1.8和ruby 1.9。

票数 33
EN

Stack Overflow用户

发布于 2013-12-25 04:40:09

为了完整起见,从Ruby1.9开始,String#chr返回字符串的第一个字符。它在2.0和2.1中仍然可用。

代码语言:javascript
复制
"Smith".chr    #=> "S"

http://ruby-doc.org/core-1.9.3/String.html#method-i-chr

票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2730854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档