帮酷LOGO
  • 显示原文与译文双语对照的内容
文章标签:WORD  规则  grapheme  集群  RULE  word-boundaries  
Grapheme Cluster and Word boundaries according to UAX#29 rules

  • 源代码名称:unicode-segmentation
  • 源代码网址:http://www.github.com/unicode-rs/unicode-segmentation
  • unicode-segmentation源代码文档
  • unicode-segmentation源代码下载
  • Git URL:
    git://www.github.com/unicode-rs/unicode-segmentation.git
  • Git Clone代码到本地:
    git clone http://www.github.com/unicode-rs/unicode-segmentation
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/unicode-rs/unicode-segmentation
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • 根据 Unicode标准附件 #29 规则,在字串或者字边界上拆分字符串的迭代器。

    Build Status

    文档文档

    externcrate unicode_segmentation;use unicode_segmentation::UnicodeSegmentation;fnmain() {
     let s ="a̐éö̲rn";
     let g = UnicodeSegmentation::graphemes(s, true).collect::<Vec<&str>>();
     let b: &[_] =&["a̐", "é", "ö̲", "rn"];
     assert_eq!(g, b);
     let s ="The quick ("brown") fox can't jump 32.3 feet, right?";
     let w = s.unicode_words().collect::<Vec<&str>>();
     let b: &[_] =&["The", "quick", "brown", "fox", "can't", "jump", "32.3", "feet", "right"];
     assert_eq!(w, b);
     let s ="The quick ("brown") fox";
     let w = s.split_word_bounds().collect::<Vec<&str>>();
     let b: &[_] =&["The", "", "quick", "", "(", """, "brown", """, ")", "", "", "fox"];
     assert_eq!(w, b);
    }
    no_std

    unicode分割不依赖 libstd,因此它可以用在带有 #![no_std] 属性的板条箱中。

    crates.io

    你可以在你的项目中通过将以下内容添加到你的Cargo.toml 中来使用这里软件包:

    [dependencies]unicode-segmentation = "1.1.0"
    更改日志

    1.2.0

    • 新的GraphemeCursor API允许随机访问和双向迭代。
    • 修正了某些表情符号序列的不正确分割。

    1.1.0

    • as_str 方法添加到迭代器类型。

    1.0.3

    • 代码清理和其他测试。

    1.0.1

    • 修复 Bug 影响包含预填充字符的一些字形簇。

    1.0.0

    • 升级到 Unicode 9.0.0.


    文章标签:WORD  集群  RULE  规则  grapheme  word-boundaries  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语