4 releases (1 stable)
1.0.0 | Apr 27, 2024 |
---|---|
0.2.0 | Dec 17, 2020 |
0.1.1 | Aug 15, 2019 |
0.1.0 | Aug 15, 2019 |
#83 in Text processing
16,890 downloads per month
Used in 30 crates
(23 directly)
25KB
367 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
~505KB