6 releases (3 stable)
2.0.0 | Nov 10, 2024 |
---|---|
1.1.0 | Jul 9, 2024 |
1.0.0 | Apr 27, 2024 |
0.2.0 | Dec 17, 2020 |
0.1.1 | Aug 15, 2019 |
#81 in Text processing
240,222 downloads per month
Used in 657 crates
(26 directly)
27KB
399 lines
unicode-truncate
Unicode-aware algorithm to pad or truncate str
in terms of displayed width.
Examples
Safely truncate string to display width even not at character boundaries.
use unicode_truncate::UnicodeTruncateStr;
fn main() {
assert_eq!("你好吗".unicode_truncate(5), ("你好", 4));
}
Making sure the string is displayed in exactly number of columns by combining padding and truncating.
use unicode_truncate::UnicodeTruncateStr;
use unicode_truncate::Alignment;
use unicode_width::UnicodeWidthStr;
fn main() {
let str = "你好吗".unicode_pad(5, Alignment::Left, true);
assert_eq!(str, "你好 ");
assert_eq!(str.width(), 5);
}
Features
unicode-truncate
can be built without std
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
.
Dependencies
~2.5MB
~35K SLoC