是否有类似于 Rails truncate方法的方法,它接受一个索引,我可以指示截断的开始和一个分隔符参数,这样它就不会从单词或字符串的中间开始?
例如:
“我喜欢午饭后泡茶的味道。”
我想从索引 9 开始抓取一个大小为 15 的字符串,所以这应该导致:
《泡泡的味道》
是否有类似于 Rails truncate方法的方法,它接受一个索引,我可以指示截断的开始和一个分隔符参数,这样它就不会从单词或字符串的中间开始?
例如:
“我喜欢午饭后泡茶的味道。”
我想从索引 9 开始抓取一个大小为 15 的字符串,所以这应该导致:
《泡泡的味道》
我认为没有一个函数可以做到这一点,所以你必须自己编写。我建议先切断字符串的开头,然后使用truncate
处理结尾。这样的事情可能会做你想做的事:
def truncate_beginning_and_end(str, beginning, length, separator)
first_space_before_beginning = str[0..beginning].rindex(separator)
str_without_beginning = str[(first_space_before_beginning + 1)..-1]
truncate(str_without_beginning, length: length, separator: separator, omission: '')
end