Ruby:如何检索字符串的一部分?

问题描述

| 我想要一种仅显示字符串/文本值中的一定数量字符的方法。 我希望它以某种方式工作,如果
my_string.length > 40
只能从
my_string
获得前40个字符?     

解决方法

只需将您的字符串子字符串化:
mystring[0...40]
    ,您可以这样做:
my_string[0..39]
    ,
my_string.slice!(40..-1)
您可以检查切片的描述!这里     ,如果您已经在使用activesupport gem(或者您不介意将其添加为依赖项),那么也可以使用String#truncate。如果您的字符串长于设置的限制,您将看到\“您的字符串... \”     ,Ruby使您可以分割字符串:
my_string = my_string[0,40] if (my_string.length > 40)
正如Andy H提醒我的那样,这可以简化为:
my_string = my_string[0,40]
这是一个例子:
str = \'1234567890\' * 5 #=> \"12345678901234567890123456789012345678901234567890\"
str[0,40] #=> \"1234567890123456789012345678901234567890\"