Unicode-aware algorithm to pad or truncate str
in terms of displayed width.
Safely truncate string to display width even not at character boundaries. ```rust use unicode_truncate::UnicodeTruncateStr;
fn main() { let (rv, w) = "你好吗".unicodetruncate(5); asserteq!(rv, "你好"); assert_eq!(w, 4); } ```
Making sure the string is displayed in exactly number of columns by combining padding and truncating. ```rust use unicodetruncate::UnicodeTruncateStr; use unicodetruncate::Alignment; use unicode_width::UnicodeWidthStr;
fn main() { let rv = "你好吗".unicodepad(5, Alignment::Left, true); asserteq!(rv, "你好 "); assert_eq!(rv.width(), 5); } ```
unicode-truncate
can be built without libstd by disabling the default feature std
. However in that
case unicode_truncate::UnicodeTruncateStr::unicode_pad
won't be available because it depends on
std::string::String
and std::borrow::Cow
.