是否有一种简单的方法可以在Racket中将字符串截断为特定宽度?
示例:
(truncate "foobar" 3)
-> "foo"
(truncate "foobar" 6)
-> "foobar"
我还想替换截断字符串的最后几个字符:
(truncate "foobar" 4 #:when-truncated "...")
-> "f..."
(truncate "foobar" 10 #:when-truncated "...")
-> "foobar"
答案 0 :(得分:6)
您可以将~a
功能与#:max-width
和#:limit-marker
关键字一起使用来截断字符串。
例如:
(~a "foobar" #:max-width 4 #:limit-marker "...")
评估为"f..."
。
另一方面:
(~a "foo" #:max-width 4 #:limit-marker "...")
评估为"foo"
。