ocaml-containers/2.2/containers/CCString/Split/index.html
2018-05-10 23:14:25 -05:00

9 lines
No EOL
9.4 KiB
HTML

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Split (containers.CCString.Split)</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> &mdash; <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCString.Split</span></h1></header><div class="spec type" id="type-drop_if_empty"><a href="#type-drop_if_empty" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>drop_if_empty</code><code></code><code><span class="keyword"> = </span></code><code>{</code><table class="record"><tr id="type-drop_if_empty.first" class="anchored"><td class="def field"><a href="#type-drop_if_empty.first" class="anchor"></a><code>first : bool;</code></td></tr><tr id="type-drop_if_empty.last" class="anchored"><td class="def field"><a href="#type-drop_if_empty.last" class="anchor"></a><code>last : bool;</code></td></tr></table><code>}</code><code></code></div><div class="doc"><p>Specification of what to do with empty blocks, as in <code class="code">split ~by:&quot;-&quot; &quot;-a-b-&quot;</code>.</p><ul><li><code class="code">{first=false; last=false}</code> will return <code class="code">&quot;&quot;; &quot;a&quot;; &quot;b&quot;; &quot;&quot;</code></li><li><code class="code">{first=true; last=false}</code> will return <code class="code">&quot;a&quot;; &quot;b&quot; &quot;&quot;</code></li><li><code class="code">{first=false; last=true}</code> will return <code class="code">&quot;&quot;; &quot;a&quot;; &quot;b&quot;</code></li><li><code class="code">{first=true; last=true}</code> will return <code class="code">&quot;a&quot;; &quot;b&quot;</code></li></ul><p>The default value of all remaining functions is <code class="code">Drop_none</code>.</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-no_drop"><a href="#val-no_drop" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>no_drop : <a href="index.html#type-drop_if_empty">drop_if_empty</a></code></div><div class="doc"><p>Do not drop any group, even empty and on borders.</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-list_"><a href="#val-list_" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>list_ : ?&#8288;drop:<a href="index.html#type-drop_if_empty">drop_if_empty</a> <span class="keyword">&#8209;&gt;</span> by:string <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> (string<span class="keyword"> * </span>int<span class="keyword"> * </span>int) list</code></div><div class="doc"><p>Split the given string along the given separator <code class="code">by</code>. Should only
be used with very small separators, otherwise
use <span class="xref-unresolved" title="unresolved reference to &quot;Containers_string.KMP&quot;">Containers_string.KMP</span>.</p><ul class="at-tag"><li><span class="at-tag return">Returns</span> a list of slices <code class="code">(s,index,length)</code> that are
separated by <code class="code">by</code>. <span class="xref-unresolved" title="unresolved reference to &quot;String.sub&quot;">String.sub</span> can then be used to actually extract
a string from the slice.</li><li><span class="at-tag raise">Raises</span> <span class="module-path">Failure</span>: if <code class="code">by = &quot;&quot;</code>.</li></ul></div></div><div class="spec val" id="val-gen"><a href="#val-gen" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>gen : ?&#8288;drop:<a href="index.html#type-drop_if_empty">drop_if_empty</a> <span class="keyword">&#8209;&gt;</span> by:string <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> (string<span class="keyword"> * </span>int<span class="keyword"> * </span>int) <a href="../index.html#type-gen">gen</a></code></div><div class="doc"></div></div><div class="spec val" id="val-seq"><a href="#val-seq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>seq : ?&#8288;drop:<a href="index.html#type-drop_if_empty">drop_if_empty</a> <span class="keyword">&#8209;&gt;</span> by:string <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> (string<span class="keyword"> * </span>int<span class="keyword"> * </span>int) <a href="../index.html#type-sequence">sequence</a></code></div><div class="doc"></div></div><div class="spec val" id="val-klist"><a href="#val-klist" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>klist : ?&#8288;drop:<a href="index.html#type-drop_if_empty">drop_if_empty</a> <span class="keyword">&#8209;&gt;</span> by:string <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> (string<span class="keyword"> * </span>int<span class="keyword"> * </span>int) <a href="../index.html#type-klist">klist</a></code></div><div class="doc"></div></div><h5>Copying functions</h5><p>Those split functions actually copy the substrings, which can be
more convenient but less efficient in general.</p><div class="spec val" id="val-list_cpy"><a href="#val-list_cpy" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>list_cpy : ?&#8288;drop:<a href="index.html#type-drop_if_empty">drop_if_empty</a> <span class="keyword">&#8209;&gt;</span> by:string <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> string list</code></div><div class="doc"></div></div><div class="spec val" id="val-gen_cpy"><a href="#val-gen_cpy" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>gen_cpy : ?&#8288;drop:<a href="index.html#type-drop_if_empty">drop_if_empty</a> <span class="keyword">&#8209;&gt;</span> by:string <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> string <a href="../index.html#type-gen">gen</a></code></div><div class="doc"></div></div><div class="spec val" id="val-seq_cpy"><a href="#val-seq_cpy" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>seq_cpy : ?&#8288;drop:<a href="index.html#type-drop_if_empty">drop_if_empty</a> <span class="keyword">&#8209;&gt;</span> by:string <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> string <a href="../index.html#type-sequence">sequence</a></code></div><div class="doc"></div></div><div class="spec val" id="val-klist_cpy"><a href="#val-klist_cpy" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>klist_cpy : ?&#8288;drop:<a href="index.html#type-drop_if_empty">drop_if_empty</a> <span class="keyword">&#8209;&gt;</span> by:string <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> string <a href="../index.html#type-klist">klist</a></code></div><div class="doc"></div></div><div class="spec val" id="val-left"><a href="#val-left" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>left : by:string <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> (string<span class="keyword"> * </span>string) option</code></div><div class="doc"><p>Split on the first occurrence of <code class="code">by</code> from the leftmost part of
the string.</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-left_exn"><a href="#val-left_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>left_exn : by:string <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> string<span class="keyword"> * </span>string</code></div><div class="doc"><p>Split on the first occurrence of <code class="code">by</code> from the leftmost part of the string.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Not_found</span>: if <code class="code">by</code> is not part of the string.</li><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec val" id="val-right"><a href="#val-right" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>right : by:string <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> (string<span class="keyword"> * </span>string) option</code></div><div class="doc"><p>Split on the first occurrence of <code class="code">by</code> from the rightmost part of
the string.</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-right_exn"><a href="#val-right_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>right_exn : by:string <span class="keyword">&#8209;&gt;</span> string <span class="keyword">&#8209;&gt;</span> string<span class="keyword"> * </span>string</code></div><div class="doc"><p>Split on the first occurrence of <code class="code">by</code> from the rightmost part of the string.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Not_found</span>: if <code class="code">by</code> is not part of the string.</li><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div></body></html>