问题描述
|
我想要一种仅显示字符串/文本值中的一定数量字符的方法。
我希望它以某种方式工作,如果
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\"