2015-08-17 15 views
6

Esiste un modo semplice per troncare le stringhe su una determinata larghezza in Racket?Stringhe troncate nella racchetta

Esempi:

(truncate "foobar" 3) 
-> "foo" 
(truncate "foobar" 6) 
-> "foobar" 

Vorrei anche per sostituire gli ultimi caratteri di una stringa troncata:

(truncate "foobar" 4 #:when-truncated "...") 
-> "f..." 
(truncate "foobar" 10 #:when-truncated "...") 
-> "foobar" 

risposta

6

È possibile utilizzare la funzione ~a con le #:max-width e #:limit-marker parole chiave per troncare stringhe.

Ad esempio:

(~a "foobar" #:max-width 4 #:limit-marker "...") 

viene valutato come "f...".

D'altra parte:

(~a "foo" #:max-width 4 #:limit-marker "...") 

viene valutato come "foo".

You can find the documentation for this function here.

Problemi correlati