| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <meta name="generator" content="rustdoc"> |
| <meta name="description" content="API documentation for the Rust `unicode_segmentation` crate."> |
| <meta name="keywords" content="rust, rustlang, rust-lang, unicode_segmentation"> |
| |
| <title>unicode_segmentation - Rust</title> |
| |
| <link rel="stylesheet" type="text/css" href="../normalize.css"> |
| <link rel="stylesheet" type="text/css" href="../rustdoc.css"> |
| <link rel="stylesheet" type="text/css" href="../main.css"> |
| |
| |
| <link rel="shortcut icon" href="https://unicode-rs.github.io/unicode-rs_sm.png"> |
| |
| </head> |
| <body class="rustdoc mod"> |
| <!--[if lte IE 8]> |
| <div class="warning"> |
| This old browser is unsupported and will most likely display funky |
| things. |
| </div> |
| <![endif]--> |
| |
| |
| |
| <nav class="sidebar"> |
| <a href='../unicode_segmentation/index.html'><img src='https://unicode-rs.github.io/unicode-rs_sm.png' alt='logo' width='100'></a> |
| <p class='location'>Crate unicode_segmentation</p><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#constants">Constants</a></li><li><a href="#traits">Traits</a></li></ul></div><p class='location'></p><script>window.sidebarCurrent = {name: 'unicode_segmentation', ty: 'mod', relpath: '../'};</script> |
| </nav> |
| |
| <nav class="sub"> |
| <form class="search-form js-only"> |
| <div class="search-container"> |
| <input class="search-input" name="search" |
| autocomplete="off" |
| placeholder="Click or press ‘S’ to search, ‘?’ for more options…" |
| type="search"> |
| </div> |
| </form> |
| </nav> |
| |
| <section id='main' class="content"> |
| <h1 class='fqn'><span class='in-band'>Crate <a class="mod" href=''>unicode_segmentation</a></span><span class='out-of-band'><span id='render-detail'> |
| <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs"> |
| [<span class='inner'>−</span>] |
| </a> |
| </span><a class='srclink' href='../src/unicode_segmentation/lib.rs.html#11-204' title='goto source code'>[src]</a></span></h1> |
| <div class='docblock'><p>Iterators which split strings on Grapheme Cluster or Word boundaries, according |
| to the <a href="http://www.unicode.org/reports/tr29/">Unicode Standard Annex #29</a> rules.</p> |
| |
| <pre class="rust rust-example-rendered"> |
| <span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">unicode_segmentation</span>; |
| |
| <span class="kw">use</span> <span class="ident">unicode_segmentation</span>::<span class="ident">UnicodeSegmentation</span>; |
| |
| <span class="kw">fn</span> <span class="ident">main</span>() { |
| <span class="kw">let</span> <span class="ident">s</span> <span class="op">=</span> <span class="string">"a̐éö̲\r\n"</span>; |
| <span class="kw">let</span> <span class="ident">g</span> <span class="op">=</span> <span class="ident">UnicodeSegmentation</span>::<span class="ident">graphemes</span>(<span class="ident">s</span>, <span class="bool-val">true</span>).<span class="ident">collect</span>::<span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="kw-2">&</span><span class="ident">str</span><span class="op">>></span>(); |
| <span class="kw">let</span> <span class="ident">b</span>: <span class="kw-2">&</span>[_] <span class="op">=</span> <span class="kw-2">&</span>[<span class="string">"a̐"</span>, <span class="string">"é"</span>, <span class="string">"ö̲"</span>, <span class="string">"\r\n"</span>]; |
| <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">g</span>, <span class="ident">b</span>); |
| |
| <span class="kw">let</span> <span class="ident">s</span> <span class="op">=</span> <span class="string">"The quick (\"brown\") fox can't jump 32.3 feet, right?"</span>; |
| <span class="kw">let</span> <span class="ident">w</span> <span class="op">=</span> <span class="ident">s</span>.<span class="ident">unicode_words</span>().<span class="ident">collect</span>::<span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="kw-2">&</span><span class="ident">str</span><span class="op">>></span>(); |
| <span class="kw">let</span> <span class="ident">b</span>: <span class="kw-2">&</span>[_] <span class="op">=</span> <span class="kw-2">&</span>[<span class="string">"The"</span>, <span class="string">"quick"</span>, <span class="string">"brown"</span>, <span class="string">"fox"</span>, <span class="string">"can't"</span>, <span class="string">"jump"</span>, <span class="string">"32.3"</span>, <span class="string">"feet"</span>, <span class="string">"right"</span>]; |
| <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">w</span>, <span class="ident">b</span>); |
| |
| <span class="kw">let</span> <span class="ident">s</span> <span class="op">=</span> <span class="string">"The quick (\"brown\") fox"</span>; |
| <span class="kw">let</span> <span class="ident">w</span> <span class="op">=</span> <span class="ident">s</span>.<span class="ident">split_word_bounds</span>().<span class="ident">collect</span>::<span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="kw-2">&</span><span class="ident">str</span><span class="op">>></span>(); |
| <span class="kw">let</span> <span class="ident">b</span>: <span class="kw-2">&</span>[_] <span class="op">=</span> <span class="kw-2">&</span>[<span class="string">"The"</span>, <span class="string">" "</span>, <span class="string">"quick"</span>, <span class="string">" "</span>, <span class="string">"("</span>, <span class="string">"\""</span>, <span class="string">"brown"</span>, <span class="string">"\""</span>, <span class="string">")"</span>, <span class="string">" "</span>, <span class="string">" "</span>, <span class="string">"fox"</span>]; |
| <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">w</span>, <span class="ident">b</span>); |
| }</pre> |
| |
| <h1 id='no_std' class='section-header'><a href='#no_std'>no_std</a></h1> |
| <p>unicode-segmentation does not depend on libstd, so it can be used in crates |
| with the <code>#![no_std]</code> attribute.</p> |
| |
| <h1 id='cratesio' class='section-header'><a href='#cratesio'>crates.io</a></h1> |
| <p>You can use this package in your project by adding the following |
| to your <code>Cargo.toml</code>:</p> |
| |
| <pre><code class="language-toml">[dependencies] |
| unicode-segmentation = "1.1.0" |
| </code></pre> |
| </div><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2> |
| <table> |
| <tr class=' module-item'> |
| <td><a class="struct" href="struct.GraphemeCursor.html" |
| title='struct unicode_segmentation::GraphemeCursor'>GraphemeCursor</a></td> |
| <td class='docblock-short'> |
| <p>Cursor-based segmenter for grapheme clusters.</p> |
| </td> |
| </tr> |
| <tr class=' module-item'> |
| <td><a class="struct" href="struct.GraphemeIndices.html" |
| title='struct unicode_segmentation::GraphemeIndices'>GraphemeIndices</a></td> |
| <td class='docblock-short'> |
| <p>External iterator for grapheme clusters and byte offsets.</p> |
| </td> |
| </tr> |
| <tr class=' module-item'> |
| <td><a class="struct" href="struct.Graphemes.html" |
| title='struct unicode_segmentation::Graphemes'>Graphemes</a></td> |
| <td class='docblock-short'> |
| <p>External iterator for a string's |
| <a href="http://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries">grapheme clusters</a>.</p> |
| </td> |
| </tr> |
| <tr class=' module-item'> |
| <td><a class="struct" href="struct.UWordBoundIndices.html" |
| title='struct unicode_segmentation::UWordBoundIndices'>UWordBoundIndices</a></td> |
| <td class='docblock-short'> |
| <p>External iterator for word boundaries and byte offsets.</p> |
| </td> |
| </tr> |
| <tr class=' module-item'> |
| <td><a class="struct" href="struct.UWordBounds.html" |
| title='struct unicode_segmentation::UWordBounds'>UWordBounds</a></td> |
| <td class='docblock-short'> |
| <p>External iterator for a string's |
| <a href="http://www.unicode.org/reports/tr29/#Word_Boundaries">word boundaries</a>.</p> |
| </td> |
| </tr> |
| <tr class=' module-item'> |
| <td><a class="struct" href="struct.UnicodeWords.html" |
| title='struct unicode_segmentation::UnicodeWords'>UnicodeWords</a></td> |
| <td class='docblock-short'> |
| <p>An iterator over the substrings of a string which, after splitting the string on |
| <a href="http://www.unicode.org/reports/tr29/#Word_Boundaries">word boundaries</a>, |
| contain any characters with the |
| <a href="http://unicode.org/reports/tr44/#Alphabetic">Alphabetic</a> |
| property, or with |
| <a href="http://unicode.org/reports/tr44/#General_Category_Values">General_Category=Number</a>.</p> |
| </td> |
| </tr></table><h2 id='enums' class='section-header'><a href="#enums">Enums</a></h2> |
| <table> |
| <tr class=' module-item'> |
| <td><a class="enum" href="enum.GraphemeIncomplete.html" |
| title='enum unicode_segmentation::GraphemeIncomplete'>GraphemeIncomplete</a></td> |
| <td class='docblock-short'> |
| <p>An error return indicating that not enough content was available in the |
| provided chunk to satisfy the query, and that more content must be provided.</p> |
| </td> |
| </tr></table><h2 id='constants' class='section-header'><a href="#constants">Constants</a></h2> |
| <table> |
| <tr class=' module-item'> |
| <td><a class="constant" href="constant.UNICODE_VERSION.html" |
| title='constant unicode_segmentation::UNICODE_VERSION'>UNICODE_VERSION</a></td> |
| <td class='docblock-short'> |
| <p>The version of <a href="http://www.unicode.org/">Unicode</a> |
| that this version of unicode-segmentation is based on.</p> |
| </td> |
| </tr></table><h2 id='traits' class='section-header'><a href="#traits">Traits</a></h2> |
| <table> |
| <tr class=' module-item'> |
| <td><a class="trait" href="trait.UnicodeSegmentation.html" |
| title='trait unicode_segmentation::UnicodeSegmentation'>UnicodeSegmentation</a></td> |
| <td class='docblock-short'> |
| <p>Methods for segmenting strings according to |
| <a href="http://www.unicode.org/reports/tr29/">Unicode Standard Annex #29</a>.</p> |
| </td> |
| </tr></table></section> |
| <section id='search' class="content hidden"></section> |
| |
| <section class="footer"></section> |
| |
| <aside id="help" class="hidden"> |
| <div> |
| <h1 class="hidden">Help</h1> |
| |
| <div class="shortcuts"> |
| <h2>Keyboard Shortcuts</h2> |
| |
| <dl> |
| <dt>?</dt> |
| <dd>Show this help dialog</dd> |
| <dt>S</dt> |
| <dd>Focus the search field</dd> |
| <dt>⇤</dt> |
| <dd>Move up in search results</dd> |
| <dt>⇥</dt> |
| <dd>Move down in search results</dd> |
| <dt>⏎</dt> |
| <dd>Go to active search result</dd> |
| <dt>+</dt> |
| <dd>Collapse/expand all sections</dd> |
| </dl> |
| </div> |
| |
| <div class="infos"> |
| <h2>Search Tricks</h2> |
| |
| <p> |
| Prefix searches with a type followed by a colon (e.g. |
| <code>fn:</code>) to restrict the search to a given type. |
| </p> |
| |
| <p> |
| Accepted types are: <code>fn</code>, <code>mod</code>, |
| <code>struct</code>, <code>enum</code>, |
| <code>trait</code>, <code>type</code>, <code>macro</code>, |
| and <code>const</code>. |
| </p> |
| |
| <p> |
| Search functions by type signature (e.g. |
| <code>vec -> usize</code> or <code>* -> vec</code>) |
| </p> |
| </div> |
| </div> |
| </aside> |
| |
| |
| |
| <script> |
| window.rootPath = "../"; |
| window.currentCrate = "unicode_segmentation"; |
| </script> |
| <script src="../main.js"></script> |
| <script defer src="../search-index.js"></script> |
| </body> |
| </html> |