unicode-truncate

Crates.iounicode-truncate
lib.rsunicode-truncate
version2.0.0
sourcesrc
created_at2019-08-15 02:50:03.550433
updated_at2024-11-10 05:37:57.975355
descriptionUnicode-aware algorithm to pad or truncate `str` in terms of displayed width.
homepagehttps://github.com/Aetf/unicode-truncate
repositoryhttps://github.com/Aetf/unicode-truncate
max_upload_size
id156940
size47,728
Aetf (Aetf)

documentation

README

unicode-truncate

Unicode-aware algorithm to pad or truncate str in terms of displayed width.

crates.io Documentation Build Status

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.

Commit count: 47

cargo fmt