mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 11:15:31 -05:00
22 lines
No EOL
56 KiB
HTML
22 lines
No EOL
56 KiB
HTML
<!DOCTYPE html>
|
|
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCString (containers.CCString)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><meta name="generator" content="doc-ock-html v1.0.0-1-g1fc9bf0"/></head><body><nav id="top"><a href="../index.html">Up</a> — <span class="package">package <a href="../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCString</span></h1></header><h2>Basic String Utils</h2><div class="spec type" id="type-gen"><a href="#type-gen" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a gen</code><code><span class="keyword"> = </span>unit <span class="keyword">‑></span> <span class="type-var">'a</span> option</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-sequence"><a href="#type-sequence" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a sequence</code><code><span class="keyword"> = </span>(<span class="type-var">'a</span> <span class="keyword">‑></span> unit) <span class="keyword">‑></span> unit</code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-klist"><a href="#type-klist" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>'a klist</code><code><span class="keyword"> = </span>unit <span class="keyword">‑></span> [ `Nil | `Cons of <span class="type-var">'a</span><span class="keyword"> * </span><span class="type-var">'a</span> <a href="index.html#type-klist">klist</a> ]</code><code></code></div><div class="doc"></div></div><h3>Common Signature</h3><div class="spec module-type" id="module-type-S"><a href="#module-type-S" class="anchor"></a><div class="def module-type"><code><span class="keyword">module type </span><a href="module-type-S/index.html">S</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"></div></div><h3>Strings</h3><div class="spec include"><div class="doc"></div><details open="open"><summary><span class="def"><code><span class="keyword">include </span><span class="keyword">module type of </span><span class="keyword">sig</span> ... <span class="keyword">end</span></code></span></summary><div class="spec val" id="val-length"><a href="#val-length" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>length : string <span class="keyword">‑></span> int = "%string_length" </code></div><div class="doc"></div></div><div class="spec val" id="val-get"><a href="#val-get" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>get : string <span class="keyword">‑></span> int <span class="keyword">‑></span> char = "%string_safe_get" </code></div><div class="doc"></div></div><div class="spec val" id="val-set"><a href="#val-set" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>set : bytes <span class="keyword">‑></span> int <span class="keyword">‑></span> char <span class="keyword">‑></span> unit = "%string_safe_set" </code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag deprecated">Deprecated</span> Use Bytes.set instead.</li></ul></div></div><div class="spec val" id="val-create"><a href="#val-create" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>create : int <span class="keyword">‑></span> bytes = "caml_create_string" </code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag deprecated">Deprecated</span> Use Bytes.create instead.</li></ul></div></div><div class="spec val" id="val-make"><a href="#val-make" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>make : int <span class="keyword">‑></span> char <span class="keyword">‑></span> string</code></div><div class="doc"></div></div><div class="spec val" id="val-init"><a href="#val-init" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>init : int <span class="keyword">‑></span> (int <span class="keyword">‑></span> char) <span class="keyword">‑></span> string</code></div><div class="doc"></div></div><div class="spec val" id="val-copy"><a href="#val-copy" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>copy : string <span class="keyword">‑></span> string</code></div><div class="doc"></div></div><div class="spec val" id="val-sub"><a href="#val-sub" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>sub : string <span class="keyword">‑></span> int <span class="keyword">‑></span> int <span class="keyword">‑></span> string</code></div><div class="doc"></div></div><div class="spec val" id="val-fill"><a href="#val-fill" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>fill : bytes <span class="keyword">‑></span> int <span class="keyword">‑></span> int <span class="keyword">‑></span> char <span class="keyword">‑></span> unit</code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag deprecated">Deprecated</span> Use Bytes.fill instead.</li></ul></div></div><div class="spec val" id="val-blit"><a href="#val-blit" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>blit : string <span class="keyword">‑></span> int <span class="keyword">‑></span> bytes <span class="keyword">‑></span> int <span class="keyword">‑></span> int <span class="keyword">‑></span> unit</code></div><div class="doc"></div></div><div class="spec val" id="val-concat"><a href="#val-concat" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>concat : string <span class="keyword">‑></span> string list <span class="keyword">‑></span> string</code></div><div class="doc"></div></div><div class="spec val" id="val-iter"><a href="#val-iter" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>iter : (char <span class="keyword">‑></span> unit) <span class="keyword">‑></span> string <span class="keyword">‑></span> unit</code></div><div class="doc"></div></div><div class="spec val" id="val-iteri"><a href="#val-iteri" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>iteri : (int <span class="keyword">‑></span> char <span class="keyword">‑></span> unit) <span class="keyword">‑></span> string <span class="keyword">‑></span> unit</code></div><div class="doc"></div></div><div class="spec val" id="val-map"><a href="#val-map" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>map : (char <span class="keyword">‑></span> char) <span class="keyword">‑></span> string <span class="keyword">‑></span> string</code></div><div class="doc"></div></div><div class="spec val" id="val-mapi"><a href="#val-mapi" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>mapi : (int <span class="keyword">‑></span> char <span class="keyword">‑></span> char) <span class="keyword">‑></span> string <span class="keyword">‑></span> string</code></div><div class="doc"></div></div><div class="spec val" id="val-trim"><a href="#val-trim" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>trim : string <span class="keyword">‑></span> string</code></div><div class="doc"></div></div><div class="spec val" id="val-escaped"><a href="#val-escaped" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>escaped : string <span class="keyword">‑></span> string</code></div><div class="doc"></div></div><div class="spec val" id="val-index"><a href="#val-index" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>index : string <span class="keyword">‑></span> char <span class="keyword">‑></span> int</code></div><div class="doc"></div></div><div class="spec val" id="val-index_opt"><a href="#val-index_opt" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>index_opt : string <span class="keyword">‑></span> char <span class="keyword">‑></span> int option</code></div><div class="doc"></div></div><div class="spec val" id="val-rindex"><a href="#val-rindex" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>rindex : string <span class="keyword">‑></span> char <span class="keyword">‑></span> int</code></div><div class="doc"></div></div><div class="spec val" id="val-rindex_opt"><a href="#val-rindex_opt" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>rindex_opt : string <span class="keyword">‑></span> char <span class="keyword">‑></span> int option</code></div><div class="doc"></div></div><div class="spec val" id="val-index_from"><a href="#val-index_from" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>index_from : string <span class="keyword">‑></span> int <span class="keyword">‑></span> char <span class="keyword">‑></span> int</code></div><div class="doc"></div></div><div class="spec val" id="val-index_from_opt"><a href="#val-index_from_opt" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>index_from_opt : string <span class="keyword">‑></span> int <span class="keyword">‑></span> char <span class="keyword">‑></span> int option</code></div><div class="doc"></div></div><div class="spec val" id="val-rindex_from"><a href="#val-rindex_from" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>rindex_from : string <span class="keyword">‑></span> int <span class="keyword">‑></span> char <span class="keyword">‑></span> int</code></div><div class="doc"></div></div><div class="spec val" id="val-rindex_from_opt"><a href="#val-rindex_from_opt" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>rindex_from_opt : string <span class="keyword">‑></span> int <span class="keyword">‑></span> char <span class="keyword">‑></span> int option</code></div><div class="doc"></div></div><div class="spec val" id="val-contains"><a href="#val-contains" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>contains : string <span class="keyword">‑></span> char <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-contains_from"><a href="#val-contains_from" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>contains_from : string <span class="keyword">‑></span> int <span class="keyword">‑></span> char <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-rcontains_from"><a href="#val-rcontains_from" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>rcontains_from : string <span class="keyword">‑></span> int <span class="keyword">‑></span> char <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-uppercase"><a href="#val-uppercase" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>uppercase : string <span class="keyword">‑></span> string</code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag deprecated">Deprecated</span> Use String.uppercase_ascii instead.</li></ul></div></div><div class="spec val" id="val-lowercase"><a href="#val-lowercase" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>lowercase : string <span class="keyword">‑></span> string</code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag deprecated">Deprecated</span> Use String.lowercase_ascii instead.</li></ul></div></div><div class="spec val" id="val-capitalize"><a href="#val-capitalize" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>capitalize : string <span class="keyword">‑></span> string</code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag deprecated">Deprecated</span> Use String.capitalize_ascii instead.</li></ul></div></div><div class="spec val" id="val-uncapitalize"><a href="#val-uncapitalize" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>uncapitalize : string <span class="keyword">‑></span> string</code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag deprecated">Deprecated</span> Use String.uncapitalize_ascii instead.</li></ul></div></div><div class="spec val" id="val-uppercase_ascii"><a href="#val-uppercase_ascii" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>uppercase_ascii : string <span class="keyword">‑></span> string</code></div><div class="doc"></div></div><div class="spec val" id="val-lowercase_ascii"><a href="#val-lowercase_ascii" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>lowercase_ascii : string <span class="keyword">‑></span> string</code></div><div class="doc"></div></div><div class="spec val" id="val-capitalize_ascii"><a href="#val-capitalize_ascii" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>capitalize_ascii : string <span class="keyword">‑></span> string</code></div><div class="doc"></div></div><div class="spec val" id="val-uncapitalize_ascii"><a href="#val-uncapitalize_ascii" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>uncapitalize_ascii : string <span class="keyword">‑></span> string</code></div><div class="doc"></div></div><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code><span class="keyword"> = </span>string</code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-compare"><a href="#val-compare" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"></div></div><div class="spec val" id="val-equal"><a href="#val-equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-split_on_char"><a href="#val-split_on_char" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>split_on_char : char <span class="keyword">‑></span> string <span class="keyword">‑></span> string list</code></div><div class="doc"></div></div><div class="spec val" id="val-unsafe_get"><a href="#val-unsafe_get" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>unsafe_get : string <span class="keyword">‑></span> int <span class="keyword">‑></span> char = "%string_unsafe_get" </code></div><div class="doc"></div></div><div class="spec val" id="val-unsafe_set"><a href="#val-unsafe_set" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>unsafe_set : bytes <span class="keyword">‑></span> int <span class="keyword">‑></span> char <span class="keyword">‑></span> unit = "%string_unsafe_set" </code></div><div class="doc"></div></div><div class="spec val" id="val-unsafe_blit"><a href="#val-unsafe_blit" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>unsafe_blit : string <span class="keyword">‑></span> int <span class="keyword">‑></span> bytes <span class="keyword">‑></span> int <span class="keyword">‑></span> int <span class="keyword">‑></span> unit = "caml_blit_string" </code></div><div class="doc"></div></div><div class="spec val" id="val-unsafe_fill"><a href="#val-unsafe_fill" class="anchor"></a><div class="def val"><code><span class="keyword">external </span>unsafe_fill : bytes <span class="keyword">‑></span> int <span class="keyword">‑></span> int <span class="keyword">‑></span> char <span class="keyword">‑></span> unit = "caml_fill_string" </code></div><div class="doc"></div></div></details></div><div class="spec val" id="val-equal"><a href="#val-equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal : string <span class="keyword">‑></span> string <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Equality function on strings.</p></div></div><div class="spec val" id="val-compare"><a href="#val-compare" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare : string <span class="keyword">‑></span> string <span class="keyword">‑></span> int</code></div><div class="doc"></div></div><div class="spec val" id="val-is_empty"><a href="#val-is_empty" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_empty : string <span class="keyword">‑></span> bool</code></div><div class="doc"><p><code class="code">is_empty s</code> returns <code class="code">true</code> iff <code class="code">s</code> is empty (i.e. its length is 0).</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.5</li></ul></div></div><div class="spec val" id="val-hash"><a href="#val-hash" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>hash : string <span class="keyword">‑></span> int</code></div><div class="doc"></div></div><div class="spec val" id="val-init"><a href="#val-init" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>init : int <span class="keyword">‑></span> (int <span class="keyword">‑></span> char) <span class="keyword">‑></span> string</code></div><div class="doc"><p>Like <code class="code">Array.init</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.3.3</li></ul></div></div><div class="spec val" id="val-rev"><a href="#val-rev" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>rev : string <span class="keyword">‑></span> string</code></div><div class="doc"><p><code class="code">rev s</code> returns the reverse of <code class="code">s</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-pad"><a href="#val-pad" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pad : ?⁠side:[ `Left | `Right ] <span class="keyword">‑></span> ?⁠c:char <span class="keyword">‑></span> int <span class="keyword">‑></span> string <span class="keyword">‑></span> string</code></div><div class="doc"><p><code class="code">pad n str</code> ensures that <code class="code">str</code> is at least <code class="code">n</code> bytes long,
|
|
and pads it on the <code class="code">side</code> with <code class="code">c</code> if it's not the case.</p><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">side</span>: determines where padding occurs (default: <code class="code">`Left</code>).</li><li><span class="at-tag parameter">Parameter</span> <span class="module-path">c</span>: the char used to pad (default: ' ').</li><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-of_char"><a href="#val-of_char" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_char : char <span class="keyword">‑></span> string</code></div><div class="doc"><p><code class="code">of_char 'a'</code> is <code class="code">"a"</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.19</li></ul></div></div><div class="spec val" id="val-of_gen"><a href="#val-of_gen" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_gen : char <a href="index.html#type-gen">gen</a> <span class="keyword">‑></span> string</code></div><div class="doc"><p>Convert a <code class="code">gen</code> of characters to a string.</p></div></div><div class="spec val" id="val-of_seq"><a href="#val-of_seq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_seq : char <a href="index.html#type-sequence">sequence</a> <span class="keyword">‑></span> string</code></div><div class="doc"><p>Convert a <code class="code">sequence</code> of characters to a string.</p></div></div><div class="spec val" id="val-of_klist"><a href="#val-of_klist" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_klist : char <a href="index.html#type-klist">klist</a> <span class="keyword">‑></span> string</code></div><div class="doc"><p>Convert a <code class="code">klist</code> of characters to a string.</p></div></div><div class="spec val" id="val-of_list"><a href="#val-of_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_list : char list <span class="keyword">‑></span> string</code></div><div class="doc"><p>Convert a list of characters to a string.</p></div></div><div class="spec val" id="val-of_array"><a href="#val-of_array" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_array : char array <span class="keyword">‑></span> string</code></div><div class="doc"><p>Convert an array of characters to a string.</p></div></div><div class="spec val" id="val-to_array"><a href="#val-to_array" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_array : string <span class="keyword">‑></span> char array</code></div><div class="doc"><p>Return the array of characters contained in the string.</p></div></div><div class="spec val" id="val-find"><a href="#val-find" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>find : ?⁠start:int <span class="keyword">‑></span> sub:string <span class="keyword">‑></span> string <span class="keyword">‑></span> int</code></div><div class="doc"><p>Find <code class="code">sub</code> in string, returns its first index or <code class="code">-1</code>.</p></div></div><div class="spec val" id="val-find_all"><a href="#val-find_all" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>find_all : ?⁠start:int <span class="keyword">‑></span> sub:string <span class="keyword">‑></span> string <span class="keyword">‑></span> int <a href="index.html#type-gen">gen</a></code></div><div class="doc"><p><code class="code">find_all ~sub s</code> finds all occurrences of <code class="code">sub</code> in <code class="code">s</code>, even overlapping
|
|
instances.</p><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">start</span>: starting position in <code class="code">s</code>.</li><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-find_all_l"><a href="#val-find_all_l" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>find_all_l : ?⁠start:int <span class="keyword">‑></span> sub:string <span class="keyword">‑></span> string <span class="keyword">‑></span> int list</code></div><div class="doc"><p><code class="code">find_all_l ~sub s</code> finds all occurrences of <code class="code">sub</code> in <code class="code">s</code> and returns
|
|
them in a list.</p><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">start</span>: starting position in <code class="code">s</code>.</li><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-mem"><a href="#val-mem" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>mem : ?⁠start:int <span class="keyword">‑></span> sub:string <span class="keyword">‑></span> string <span class="keyword">‑></span> bool</code></div><div class="doc"><p><code class="code">mem ~sub s</code> is <code class="code">true</code> iff <code class="code">sub</code> is a substring of <code class="code">s</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.12</li></ul></div></div><div class="spec val" id="val-rfind"><a href="#val-rfind" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>rfind : sub:string <span class="keyword">‑></span> string <span class="keyword">‑></span> int</code></div><div class="doc"><p>Find <code class="code">sub</code> in string from the right, returns its first index or <code class="code">-1</code>.
|
|
Should only be used with very small <code class="code">sub</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.12</li></ul></div></div><div class="spec val" id="val-replace"><a href="#val-replace" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>replace : ?⁠which:[ `Left | `Right | `All ] <span class="keyword">‑></span> sub:string <span class="keyword">‑></span> by:string <span class="keyword">‑></span> string <span class="keyword">‑></span> string</code></div><div class="doc"><p><code class="code">replace ~sub ~by s</code> replaces some occurrences of <code class="code">sub</code> by <code class="code">by</code> in <code class="code">s</code>.</p><ul class="at-tag"><li><p><span class="at-tag parameter">Parameter</span> <span class="module-path">which</span>: decides whether the occurrences to replace are:
|
|
</p><ul><li><code class="code">`Left</code> first occurrence from the left (beginning).</li><li><code class="code">`Right</code> first occurrence from the right (end).</li><li><code class="code">`All</code> all occurrences (default).</li></ul></li><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if <code class="code">sub = ""</code>.</li><li><span class="at-tag since">Since</span>: 0.14</li></ul></div></div><div class="spec val" id="val-is_sub"><a href="#val-is_sub" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_sub : sub:string <span class="keyword">‑></span> int <span class="keyword">‑></span> string <span class="keyword">‑></span> int <span class="keyword">‑></span> len:int <span class="keyword">‑></span> bool</code></div><div class="doc"><p><code class="code">is_sub ~sub i s j ~len</code> returns <code class="code">true</code> iff the substring of
|
|
<code class="code">sub</code> starting at position <code class="code">i</code> and of length <code class="code">len</code> is a substring
|
|
of <code class="code">s</code> starting at position <code class="code">j</code>.</p></div></div><div class="spec val" id="val-repeat"><a href="#val-repeat" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>repeat : string <span class="keyword">‑></span> int <span class="keyword">‑></span> string</code></div><div class="doc"><p>The same string, repeated n times.</p></div></div><div class="spec val" id="val-prefix"><a href="#val-prefix" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>prefix : pre:string <span class="keyword">‑></span> string <span class="keyword">‑></span> bool</code></div><div class="doc"><p><code class="code">prefix ~pre s</code> returns <code class="code">true</code> iff <code class="code">pre</code> is a prefix of <code class="code">s</code>.</p></div></div><div class="spec val" id="val-suffix"><a href="#val-suffix" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>suffix : suf:string <span class="keyword">‑></span> string <span class="keyword">‑></span> bool</code></div><div class="doc"><p><code class="code">suffix ~suf s</code> returns <code class="code">true</code> iff <code class="code">suf</code> is a suffix of <code class="code">s</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.7</li></ul></div></div><div class="spec val" id="val-chop_prefix"><a href="#val-chop_prefix" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>chop_prefix : pre:string <span class="keyword">‑></span> string <span class="keyword">‑></span> string option</code></div><div class="doc"><p><code class="code">chop_prefix ~pre s</code> removes <code class="code">pre</code> from <code class="code">s</code> if <code class="code">pre</code> really is a prefix
|
|
of <code class="code">s</code>, returns <code class="code">None</code> otherwise.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-chop_suffix"><a href="#val-chop_suffix" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>chop_suffix : suf:string <span class="keyword">‑></span> string <span class="keyword">‑></span> string option</code></div><div class="doc"><p><code class="code">chop_suffix ~suf s</code> removes <code class="code">suf</code> from <code class="code">s</code> if <code class="code">suf</code> really is a suffix
|
|
of <code class="code">s</code>, returns <code class="code">None</code> otherwise.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-take"><a href="#val-take" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>take : int <span class="keyword">‑></span> string <span class="keyword">‑></span> string</code></div><div class="doc"><p><code class="code">take n s</code> keeps only the <code class="code">n</code> first chars of <code class="code">s</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-drop"><a href="#val-drop" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>drop : int <span class="keyword">‑></span> string <span class="keyword">‑></span> string</code></div><div class="doc"><p><code class="code">drop n s</code> removes the <code class="code">n</code> first chars of <code class="code">s</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-take_drop"><a href="#val-take_drop" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>take_drop : int <span class="keyword">‑></span> string <span class="keyword">‑></span> string<span class="keyword"> * </span>string</code></div><div class="doc"><p><code class="code">take_drop n s = take n s, drop n s</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-lines"><a href="#val-lines" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>lines : string <span class="keyword">‑></span> string list</code></div><div class="doc"><p><code class="code">lines s</code> returns a list of the lines of <code class="code">s</code> (splits along '\n').</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.10</li></ul></div></div><div class="spec val" id="val-lines_gen"><a href="#val-lines_gen" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>lines_gen : string <span class="keyword">‑></span> string <a href="index.html#type-gen">gen</a></code></div><div class="doc"><p><code class="code">lines_gen s</code> returns a generator of the lines of <code class="code">s</code> (splits along '\n').</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.10</li></ul></div></div><div class="spec val" id="val-concat_gen"><a href="#val-concat_gen" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>concat_gen : sep:string <span class="keyword">‑></span> string <a href="index.html#type-gen">gen</a> <span class="keyword">‑></span> string</code></div><div class="doc"><p><code class="code">concat_gen ~sep g</code> concatenates all strings of <code class="code">g</code>, separated with <code class="code">sep</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.10</li></ul></div></div><div class="spec val" id="val-unlines"><a href="#val-unlines" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>unlines : string list <span class="keyword">‑></span> string</code></div><div class="doc"><p><code class="code">unlines l</code> concatenates all strings of <code class="code">l</code>, separated with '\n'.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.10</li></ul></div></div><div class="spec val" id="val-unlines_gen"><a href="#val-unlines_gen" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>unlines_gen : string <a href="index.html#type-gen">gen</a> <span class="keyword">‑></span> string</code></div><div class="doc"><p><code class="code">unlines_gen g</code> concatenates all strings of <code class="code">g</code>, separated with '\n'.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.10</li></ul></div></div><div class="spec val" id="val-set"><a href="#val-set" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>set : string <span class="keyword">‑></span> int <span class="keyword">‑></span> char <span class="keyword">‑></span> string</code></div><div class="doc"><p><code class="code">set s i c</code> creates a new string which is a copy of <code class="code">s</code>, except
|
|
for index <code class="code">i</code>, which becomes <code class="code">c</code>.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if <code class="code">i</code> is an invalid index.</li><li><span class="at-tag since">Since</span>: 0.12</li></ul></div></div><div class="spec val" id="val-iter"><a href="#val-iter" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>iter : (char <span class="keyword">‑></span> unit) <span class="keyword">‑></span> string <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Alias to <span class="xref-unresolved" title="unresolved reference to "String.iter"">String.iter</span>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.12</li></ul></div></div><div class="spec val" id="val-iteri"><a href="#val-iteri" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>iteri : (int <span class="keyword">‑></span> char <span class="keyword">‑></span> unit) <span class="keyword">‑></span> string <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Iter on chars with their index.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.12</li></ul></div></div><div class="spec val" id="val-map"><a href="#val-map" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>map : (char <span class="keyword">‑></span> char) <span class="keyword">‑></span> string <span class="keyword">‑></span> string</code></div><div class="doc"><p>Map chars.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.12</li></ul></div></div><div class="spec val" id="val-mapi"><a href="#val-mapi" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>mapi : (int <span class="keyword">‑></span> char <span class="keyword">‑></span> char) <span class="keyword">‑></span> string <span class="keyword">‑></span> string</code></div><div class="doc"><p>Map chars with their index.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.12</li></ul></div></div><div class="spec val" id="val-filter_map"><a href="#val-filter_map" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>filter_map : (char <span class="keyword">‑></span> char option) <span class="keyword">‑></span> string <span class="keyword">‑></span> string</code></div><div class="doc"><p><code class="code">filter_map f s</code> calls <code class="code">(f a0) (f a1) ... (f an)</code> where <code class="code">a0 ... an</code> are the characters of s.
|
|
It returns the string of characters <code class="code">ci</code> such as <code class="code">f ai = Some ci</code> (when <code class="code">f</code> returns <code class="code">None</code>,
|
|
the corresponding element of <code class="code">s</code> is discarded).</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-filter"><a href="#val-filter" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>filter : (char <span class="keyword">‑></span> bool) <span class="keyword">‑></span> string <span class="keyword">‑></span> string</code></div><div class="doc"><p><code class="code">filter f s</code> discards characters not satisfying <code class="code">f</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.17</li></ul></div></div><div class="spec val" id="val-flat_map"><a href="#val-flat_map" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>flat_map : ?⁠sep:string <span class="keyword">‑></span> (char <span class="keyword">‑></span> string) <span class="keyword">‑></span> string <span class="keyword">‑></span> string</code></div><div class="doc"><p>Map each chars to a string, then concatenates them all.</p><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">sep</span>: optional separator between each generated string.</li><li><span class="at-tag since">Since</span>: 0.12</li></ul></div></div><div class="spec val" id="val-for_all"><a href="#val-for_all" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>for_all : (char <span class="keyword">‑></span> bool) <span class="keyword">‑></span> string <span class="keyword">‑></span> bool</code></div><div class="doc"><p>True for all chars?</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.12</li></ul></div></div><div class="spec val" id="val-exists"><a href="#val-exists" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>exists : (char <span class="keyword">‑></span> bool) <span class="keyword">‑></span> string <span class="keyword">‑></span> bool</code></div><div class="doc"><p>True for some char?</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.12</li></ul></div></div><div class="spec include"><div class="doc"></div><details open="open"><summary><span class="def"><code><span class="keyword">include </span><a href="index.html#module-type-S">S</a><span class="keyword"> with </span><span class="keyword">type </span><a href="index.html#module-type-S">S</a>.t := string</code></span></summary><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-length"><a href="#val-length" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>length : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p>Return the length (number of characters) of the given string.</p></div></div><div class="spec val" id="val-blit"><a href="#val-blit" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>blit : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int <span class="keyword">‑></span> Bytes.t <span class="keyword">‑></span> int <span class="keyword">‑></span> int <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Like <span class="xref-unresolved" title="unresolved reference to "String.blit"">String.blit</span>.
|
|
Compatible with the <code class="code">-safe-string</code> option.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if indices are not valid.</li></ul></div></div><div class="spec val" id="val-fold"><a href="#val-fold" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>fold : (<span class="type-var">'a</span> <span class="keyword">‑></span> char <span class="keyword">‑></span> <span class="type-var">'a</span>) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p>Fold on chars by increasing index.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.7</li></ul></div></div><h3>Conversions</h3><div class="spec val" id="val-to_gen"><a href="#val-to_gen" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_gen : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> char <a href="index.html#type-gen">gen</a></code></div><div class="doc"><p>Return the <code class="code">gen</code> of characters contained in the string.</p></div></div><div class="spec val" id="val-to_seq"><a href="#val-to_seq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_seq : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> char <a href="index.html#type-sequence">sequence</a></code></div><div class="doc"><p>Return the <code class="code">sequence</code> of characters contained in the string.</p></div></div><div class="spec val" id="val-to_klist"><a href="#val-to_klist" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_klist : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> char <a href="index.html#type-klist">klist</a></code></div><div class="doc"><p>Return the <code class="code">klist</code> of characters contained in the string.</p></div></div><div class="spec val" id="val-to_list"><a href="#val-to_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_list : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> char list</code></div><div class="doc"><p>Return the list of characters contained in the string.</p></div></div><div class="spec val" id="val-pp_buf"><a href="#val-pp_buf" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pp_buf : Buffer.t <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Renamed from <code class="code">pp</code> since 2.0.</p></div></div><div class="spec val" id="val-pp"><a href="#val-pp" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pp : Format.formatter <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Print the string within quotes.</p><p>Renamed from <code class="code">print</code> since 2.0.</p></div></div></details></div><div class="spec val" id="val-drop_while"><a href="#val-drop_while" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>drop_while : (char <span class="keyword">‑></span> bool) <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">drop_while f s</code> discards any characters starting from the left,
|
|
up to the first character <code class="code">c</code> not satisfying <code class="code">f c</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 2.2</li></ul></div></div><div class="spec val" id="val-rdrop_while"><a href="#val-rdrop_while" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>rdrop_while : (char <span class="keyword">‑></span> bool) <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">rdrop_while f s</code> discards any characters starting from the right,
|
|
up to the first character <code class="code">c</code> not satisfying <code class="code">f c</code>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 2.2</li></ul></div></div><div class="spec val" id="val-ltrim"><a href="#val-ltrim" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>ltrim : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Trim space on the left (see <span class="xref-unresolved" title="unresolved reference to "String.trim"">String.trim</span> for more details).</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.2</li></ul></div></div><div class="spec val" id="val-rtrim"><a href="#val-rtrim" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>rtrim : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Trim space on the right (see <span class="xref-unresolved" title="unresolved reference to "String.trim"">String.trim</span> for more details).</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.2</li></ul></div></div><h3>Operations on 2 strings</h3><div class="spec val" id="val-map2"><a href="#val-map2" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>map2 : (char <span class="keyword">‑></span> char <span class="keyword">‑></span> char) <span class="keyword">‑></span> string <span class="keyword">‑></span> string <span class="keyword">‑></span> string</code></div><div class="doc"><p>Map pairs of chars.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if the strings have not the same length.</li><li><span class="at-tag since">Since</span>: 0.12</li></ul></div></div><div class="spec val" id="val-iter2"><a href="#val-iter2" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>iter2 : (char <span class="keyword">‑></span> char <span class="keyword">‑></span> unit) <span class="keyword">‑></span> string <span class="keyword">‑></span> string <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Iterate on pairs of chars.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if the strings have not the same length.</li><li><span class="at-tag since">Since</span>: 0.12</li></ul></div></div><div class="spec val" id="val-iteri2"><a href="#val-iteri2" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>iteri2 : (int <span class="keyword">‑></span> char <span class="keyword">‑></span> char <span class="keyword">‑></span> unit) <span class="keyword">‑></span> string <span class="keyword">‑></span> string <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Iterate on pairs of chars with their index.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if the strings have not the same length.</li><li><span class="at-tag since">Since</span>: 0.12</li></ul></div></div><div class="spec val" id="val-fold2"><a href="#val-fold2" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>fold2 : (<span class="type-var">'a</span> <span class="keyword">‑></span> char <span class="keyword">‑></span> char <span class="keyword">‑></span> <span class="type-var">'a</span>) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> string <span class="keyword">‑></span> string <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p>Fold on pairs of chars.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if the strings have not the same length.</li><li><span class="at-tag since">Since</span>: 0.12</li></ul></div></div><div class="spec val" id="val-for_all2"><a href="#val-for_all2" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>for_all2 : (char <span class="keyword">‑></span> char <span class="keyword">‑></span> bool) <span class="keyword">‑></span> string <span class="keyword">‑></span> string <span class="keyword">‑></span> bool</code></div><div class="doc"><p>All pairs of chars respect the predicate?</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if the strings have not the same length.</li><li><span class="at-tag since">Since</span>: 0.12</li></ul></div></div><div class="spec val" id="val-exists2"><a href="#val-exists2" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>exists2 : (char <span class="keyword">‑></span> char <span class="keyword">‑></span> bool) <span class="keyword">‑></span> string <span class="keyword">‑></span> string <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Exists a pair of chars?</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Invalid_argument</span>: if the strings have not the same length.</li><li><span class="at-tag since">Since</span>: 0.12</li></ul></div></div><h3>Ascii functions</h3><p>Those functions are deprecated in String since 4.03, so we provide
|
|
a stable alias for them even in older versions.</p><div class="spec val" id="val-capitalize_ascii"><a href="#val-capitalize_ascii" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>capitalize_ascii : string <span class="keyword">‑></span> string</code></div><div class="doc"><p>See String.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.18</li></ul></div></div><div class="spec val" id="val-uncapitalize_ascii"><a href="#val-uncapitalize_ascii" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>uncapitalize_ascii : string <span class="keyword">‑></span> string</code></div><div class="doc"><p>See String.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.18</li></ul></div></div><div class="spec val" id="val-uppercase_ascii"><a href="#val-uppercase_ascii" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>uppercase_ascii : string <span class="keyword">‑></span> string</code></div><div class="doc"><p>See String.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.18</li></ul></div></div><div class="spec val" id="val-lowercase_ascii"><a href="#val-lowercase_ascii" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>lowercase_ascii : string <span class="keyword">‑></span> string</code></div><div class="doc"><p>See String.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.18</li></ul></div></div><div class="spec val" id="val-equal_caseless"><a href="#val-equal_caseless" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal_caseless : string <span class="keyword">‑></span> string <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Comparison without respect to <b>ascii</b> lowercase.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.2</li></ul></div></div><h3>Finding</h3><p>A relatively efficient algorithm for finding sub-strings.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.0</li></ul><div class="spec module" id="module-Find"><a href="#module-Find" class="anchor"></a><div class="def module"><code><span class="keyword">module </span><a href="Find/index.html">Find</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"></div></div><h3>Splitting</h3><div class="spec module" id="module-Split"><a href="#module-Split" class="anchor"></a><div class="def module"><code><span class="keyword">module </span><a href="Split/index.html">Split</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"></div></div><div class="spec val" id="val-split_on_char"><a href="#val-split_on_char" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>split_on_char : char <span class="keyword">‑></span> string <span class="keyword">‑></span> string list</code></div><div class="doc"><p>Split the string along the given char.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.2</li></ul></div></div><div class="spec val" id="val-split"><a href="#val-split" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>split : by:string <span class="keyword">‑></span> string <span class="keyword">‑></span> string list</code></div><div class="doc"><p>Alias to <a href="Split/index.html#val-list_cpy">Split.list_cpy</a>.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.2</li></ul></div></div><h3>Utils</h3><div class="spec val" id="val-compare_versions"><a href="#val-compare_versions" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare_versions : string <span class="keyword">‑></span> string <span class="keyword">‑></span> int</code></div><div class="doc"><p><code class="code">compare_versions a b</code> compares <i>version strings</i><code class="code"> a</code> and <code class="code">b</code>,
|
|
considering that numbers are above text.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.13</li></ul></div></div><div class="spec val" id="val-compare_natural"><a href="#val-compare_natural" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare_natural : string <span class="keyword">‑></span> string <span class="keyword">‑></span> int</code></div><div class="doc"><p>Natural Sort Order, comparing chunks of digits as natural numbers.
|
|
https://en.wikipedia.org/wiki/Natural_sort_order</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.3</li></ul></div></div><div class="spec val" id="val-edit_distance"><a href="#val-edit_distance" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>edit_distance : string <span class="keyword">‑></span> string <span class="keyword">‑></span> int</code></div><div class="doc"><p>Edition distance between two strings. This satisfies the classical
|
|
distance axioms: it is always positive, symmetric, and satisfies
|
|
the formula <code class="code">distance a b + distance b c >= distance a c</code>.</p></div></div><h3>Slices</h3><p>A contiguous part of a string</p><div class="spec module" id="module-Sub"><a href="#module-Sub" class="anchor"></a><div class="def module"><code><span class="keyword">module </span><a href="Sub/index.html">Sub</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></div><div class="doc"></div></div></body></html> |