我想要一种方法只显示字符串/文本值中的一定数量的字符。
我希望它以my_string.length > 40
的方式工作,然后才能从my_string
获得前40个字符?
答案 0 :(得分:21)
简单地将字符串子串:
mystring[0...40]
答案 1 :(得分:4)
你可以这样做:
my_string[0..39]
答案 2 :(得分:1)
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"
答案 3 :(得分:1)
my_string.slice!(40..-1)
您可以查看切片的说明! here
答案 4 :(得分:1)
如果您已经在使用activesupport gem(或者如果您不介意将其添加为依赖项),那么您也可以使用String#truncate。如果您的字符串超过设定的限制,您将看到“您的字符串...”