Truncate string with Rails?

前端 未结 7 688
醉酒成梦
醉酒成梦 2021-01-31 07:40

I want to truncate a string as follows:

input:

string = \"abcd asfsa sadfsaf safsdaf aaaaaaaaaa aaaaaaaaaa ffffdffffdffffdffffddd\"
7条回答
  •  青春惊慌失措
    2021-01-31 08:03

    In the simplest case:

    string = "abcd asfsa sadfsaf safsdaf aaaaaaaaaa aaaaaaaaaa ffffdffffdffffdffffffffd"
    tr_string = string[0, 20] + "..." + string[-5,5]
    

    or

    def trancate(string, length = 20)
      string.size > length+5 ? [string[0,length],string[-5,5]].join("...") : string
    end
    
    # Usage
    trancate "abcd asfsa sadfsaf safsdaf aaaaaaaaaa aaaaaaaaaa ffffdffffdffffdffffffffd"
    #=> "abcd asfsa sadfsaf s...ffffffffd"
    trancate "Hello Beautiful World"
    #=> "Hello Beautiful World"
    trancate "Hello Beautiful World", 5
    #=> "Hello...World"
    

提交回复
热议问题