logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

StdLabels.String - no description

Documentation

       Module String
        : (moduleStringLabels)Stringstypet = string

       The type for strings.

       valmake : int->char->stringmakenc is a string of length n with each index holding the character c .

       RaisesInvalid_argument if n<0 or n>Sys.max_string_length .

       valinit : int->f:(int->char)->stringinitn~f  is  a  string of length n with index i holding the character fi (called in increasing index
       order).

       Since 4.02

       RaisesInvalid_argument if n<0 or n>Sys.max_string_length .

       valempty : string

       The empty string.

       Since 4.13

       vallength : string->intlengths is the length (number of bytes/characters) of s .

       valget : string->int->chargetsi is the character at index i in s . This is the same as writing s.[i] .

       RaisesInvalid_argument if i not an index of s .

       valof_bytes : bytes->string

       Return a new string that contains the same bytes as the given byte sequence.

       Since 4.13

       valto_bytes : string->bytes

       Return a new byte sequence that contains the same bytes as the given string.

       Since 4.13

       valblit : src:string->src_pos:int->dst:bytes->dst_pos:int->len:int->unit

       Same as Bytes.blit_string which should be preferred.

   Concatenating
       Note. The (^) binary operator concatenates two strings.

       valconcat : sep:string->stringlist->stringconcat~sepss concatenates the list of strings ss , inserting the separator string sep between each.

       RaisesInvalid_argument if the result is longer than Sys.max_string_length bytes.

       valcat : string->string->stringcats1s2 concatenates s1 and s2 ( s1^s2 ).

       Since 4.13

       RaisesInvalid_argument if the result is longer than Sys.max_string_length bytes.

   Predicatesandcomparisonsvalequal : t->t->boolequals0s1 is true if and only if s0 and s1 are character-wise equal.

       Since 4.05

       valcompare : t->t->intcompares0s1 sorts s0 and s1 in lexicographical order.  compare behaves like compare on strings but  may
       be more efficient.

       valstarts_with : prefix:string->string->boolstarts_with~prefixs is true if and only if s starts with prefix .

       Since 4.13

       valends_with : suffix:string->string->boolends_with~suffixs is true if and only if s ends with suffix .

       Since 4.13

       valcontains_from : string->int->char->boolcontains_fromsstartc is true if and only if c appears in s after position start .

       RaisesInvalid_argument if start is not a valid position in s .

       valrcontains_from : string->int->char->boolrcontains_fromsstopc is true if and only if c appears in s before position stop+1 .

       RaisesInvalid_argument if stop<0 or stop+1 is not a valid position in s .

       valcontains : string->char->boolcontainssc is String.contains_froms0c .

   Extractingsubstringsvalsub : string->pos:int->len:int->stringsubs~pos~len is a string of length len , containing the substring of s that starts at position pos and
       has length len .

       RaisesInvalid_argument if pos and len do not designate a valid substring of s .

       valsplit_on_char : sep:char->string->stringlistsplit_on_char~seps  is  the  list  of  all (possibly empty) substrings of s that are delimited by the
       character sep .  If s is empty, the result is the singleton list [""] .

       The function's result is specified by the following invariants:

       -The list is not empty.

       -Concatenating its elements using sep as a separator returns a string equal to the input ( concat(make1sep)(split_on_charseps)=s ).

       -No string in the result contains the sep character.

       Since 4.05

   Transformingvalmap : f:(char->char)->string->stringmapfs is the string resulting from applying f to all the characters of s in increasing order.

       Since 4.00

       valmapi : f:(int->char->char)->string->stringmapi~fs is like StringLabels.map but the index of the character is also passed to f .

       Since 4.02

       valfold_left : f:('acc->char->'acc)->init:'acc->string->'accfold_leftfxs computes f(...(f(fxs.[0])s.[1])...)s.[n-1] , where n is the length of the  string
       s .

       Since 4.13

       valfold_right : f:(char->'acc->'acc)->string->init:'acc->'accfold_rightfsx  computes  fs.[0](fs.[1](...(fs.[n-1]x)...))  , where n is the length of the
       string s .

       Since 4.13

       valfor_all : f:(char->bool)->string->boolfor_allps checks if all characters in s satisfy the predicate p .

       Since 4.13

       valexists : f:(char->bool)->string->boolexistsps checks if at least one character of s satisfies the predicate p .

       Since 4.13

       valtrim : string->stringtrims is s without leading and trailing whitespace. Whitespace characters are: '' , '\x0C' (form feed),
       '\n' , '\r' , and '\t' .

       Since 4.00

       valescaped : string->stringescapeds is s with special characters represented by escape sequences, following the lexical conventions
       of OCaml.

       All characters outside the US-ASCII printable range [0x20;0x7E] are escaped, as well as backslash  (0x2F)
       and double-quote (0x22).

       The function Scanf.unescaped is a left inverse of escaped , i.e.  Scanf.unescaped(escapeds)=s for any
       string s (unless escapeds fails).

       RaisesInvalid_argument if the result is longer than Sys.max_string_length bytes.

       valuppercase_ascii : string->stringuppercase_asciis  is s with all lowercase letters translated to uppercase, using the US-ASCII character
       set.

       Since 4.05

       vallowercase_ascii : string->stringlowercase_asciis is s with all uppercase letters translated to lowercase, using the  US-ASCII  character
       set.

       Since 4.05

       valcapitalize_ascii : string->stringcapitalize_asciis is s with the first character set to uppercase, using the US-ASCII character set.

       Since 4.05

       valuncapitalize_ascii : string->stringuncapitalize_asciis is s with the first character set to lowercase, using the US-ASCII character set.

       Since 4.05

   Traversingvaliter : f:(char->unit)->string->unititer~fs applies function f in turn to all the characters of s .  It is equivalent to fs.[0];fs.[1];...;fs.[lengths-1];() .

       valiteri : f:(int->char->unit)->string->unititeri is like StringLabels.iter , but the function is also given the corresponding character index.

       Since 4.00

   Searchingvalindex_from : string->int->char->intindex_fromsic is the index of the first occurrence of c in s after position i .

       RaisesNot_found if c does not occur in s after position i .

       RaisesInvalid_argument if i is not a valid position in s .

       valindex_from_opt : string->int->char->intoptionindex_from_optsic is the index of the first occurrence of c in s after position i (if any).

       Since 4.05

       RaisesInvalid_argument if i is not a valid position in s .

       valrindex_from : string->int->char->intrindex_fromsic is the index of the last occurrence of c in s before position i+1 .

       RaisesNot_found if c does not occur in s before position i+1 .

       RaisesInvalid_argument if i+1 is not a valid position in s .

       valrindex_from_opt : string->int->char->intoptionrindex_from_optsic is the index of the last occurrence of c in s before position i+1 (if any).

       Since 4.05

       RaisesInvalid_argument if i+1 is not a valid position in s .

       valindex : string->char->intindexsc is String.index_froms0c .

       valindex_opt : string->char->intoptionindex_optsc is String.index_from_opts0c .

       Since 4.05

       valrindex : string->char->intrindexsc is String.rindex_froms(lengths-1)c .

       valrindex_opt : string->char->intoptionrindex_optsc is String.rindex_from_opts(lengths-1)c .

       Since 4.05

   StringsandSequencesvalto_seq : t->charSeq.tto_seqs is a sequence made of the string's characters in increasing order.

       Since 4.07

       valto_seqi : t->(int*char)Seq.tto_seqis is like StringLabels.to_seq but also tuples the corresponding index.

       Since 4.07

       valof_seq : charSeq.t->tof_seqs is a string made of the sequence's characters.

       Since 4.07

   UTFdecodingandvalidationsUTF-8valget_utf_8_uchar : t->int->Uchar.utf_decodeget_utf_8_ucharbi decodes an UTF-8 character at index i in b .

       valis_valid_utf_8 : t->boolis_valid_utf_8b is true if and only if b contains valid UTF-8 data.

   UTF-16BEvalget_utf_16be_uchar : t->int->Uchar.utf_decodeget_utf_16be_ucharbi decodes an UTF-16BE character at index i in b .

       valis_valid_utf_16be : t->boolis_valid_utf_16beb is true if and only if b contains valid UTF-16BE data.

   UTF-16LEvalget_utf_16le_uchar : t->int->Uchar.utf_decodeget_utf_16le_ucharbi decodes an UTF-16LE character at index i in b .

       valis_valid_utf_16le : t->boolis_valid_utf_16leb is true if and only if b contains valid UTF-16LE data.

   Binarydecodingofintegers
       The functions in this section binary decode integers from strings.

       All following functions raise Invalid_argument if the characters needed at index i to decode the  integer
       are not available.

       Little-endian  (resp.  big-endian)  encoding  means  that least (resp. most) significant bytes are stored
       first.  Big-endian is also known as network byte order.  Native-endian encoding is  either  little-endian
       or big-endian depending on Sys.big_endian .

       32-bit  and 64-bit integers are represented by the int32 and int64 types, which can be interpreted either
       as signed or unsigned numbers.

       8-bit and 16-bit integers are represented by the int type, which has more bits than the binary  encoding.
       These extra bits are sign-extended (or zero-extended) for functions which decode 8-bit or 16-bit integers
       and represented them with int values.

       valget_uint8 : string->int->intget_uint8bi is b 's unsigned 8-bit integer starting at character index i .

       Since 4.13

       valget_int8 : string->int->intget_int8bi is b 's signed 8-bit integer starting at character index i .

       Since 4.13

       valget_uint16_ne : string->int->intget_uint16_nebi is b 's native-endian unsigned 16-bit integer starting at character index i .

       Since 4.13

       valget_uint16_be : string->int->intget_uint16_bebi is b 's big-endian unsigned 16-bit integer starting at character index i .

       Since 4.13

       valget_uint16_le : string->int->intget_uint16_lebi is b 's little-endian unsigned 16-bit integer starting at character index i .

       Since 4.13

       valget_int16_ne : string->int->intget_int16_nebi is b 's native-endian signed 16-bit integer starting at character index i .

       Since 4.13

       valget_int16_be : string->int->intget_int16_bebi is b 's big-endian signed 16-bit integer starting at character index i .

       Since 4.13

       valget_int16_le : string->int->intget_int16_lebi is b 's little-endian signed 16-bit integer starting at character index i .

       Since 4.13

       valget_int32_ne : string->int->int32get_int32_nebi is b 's native-endian 32-bit integer starting at character index i .

       Since 4.13

       valhash : t->int

       An  unseeded hash function for strings, with the same output value as Hashtbl.hash . This function allows
       this module to be passed as argument to the functor Hashtbl.Make .

       Since 5.0

       valseeded_hash : int->t->int

       A seeded hash function for strings, with the same output value as  Hashtbl.seeded_hash  .  This  function
       allows this module to be passed as argument to the functor Hashtbl.MakeSeeded .

       Since 5.0

       valget_int32_be : string->int->int32get_int32_bebi is b 's big-endian 32-bit integer starting at character index i .

       Since 4.13

       valget_int32_le : string->int->int32get_int32_lebi is b 's little-endian 32-bit integer starting at character index i .

       Since 4.13

       valget_int64_ne : string->int->int64get_int64_nebi is b 's native-endian 64-bit integer starting at character index i .

       Since 4.13

       valget_int64_be : string->int->int64get_int64_bebi is b 's big-endian 64-bit integer starting at character index i .

       Since 4.13

       valget_int64_le : string->int->int64get_int64_lebi is b 's little-endian 64-bit integer starting at character index i .

       Since 4.13

OCamldoc                                           2025-06-12                               StdLabels.String(3o)

Module

       Module   StdLabels.String

Name

       StdLabels.String - no description

See Also