Frama-C API - String
Extension of OCaml's Stdlib.String module.
include module type of Stdlib.String
val make : int -> char -> stringval init : int -> (int -> char) -> stringval length : string -> intval get : string -> int -> charval of_char : char -> stringval of_bytes : bytes -> stringval to_bytes : string -> bytesval blit : string -> int -> bytes -> int -> int -> unitval concat : string -> string list -> stringval cat : string -> string -> stringval equal : t -> t -> boolval compare : t -> t -> intval is_empty : string -> boolval starts_with : prefix:string -> string -> boolval ends_with : suffix:string -> string -> boolval includes : affix:string -> string -> boolval contains_from : string -> int -> char -> boolval rcontains_from : string -> int -> char -> boolval contains : string -> char -> boolval sub : string -> int -> int -> stringval take_first : int -> string -> stringval take_last : int -> string -> stringval drop_first : int -> string -> stringval drop_last : int -> string -> stringval cut_first : int -> string -> string * stringval cut_last : int -> string -> string * stringval take_first_while : (char -> bool) -> string -> stringval take_last_while : (char -> bool) -> string -> stringval drop_first_while : (char -> bool) -> string -> stringval drop_last_while : (char -> bool) -> string -> stringval cut_first_while : (char -> bool) -> string -> string * stringval cut_last_while : (char -> bool) -> string -> string * stringval split_first : sep:string -> string -> (string * string) optionval split_last : sep:string -> string -> (string * string) optionval split_all : sep:string -> ?drop:??? -> string -> string listval rsplit_all : sep:string -> ?drop:??? -> string -> string listval split_on_char : char -> string -> string listval map : (char -> char) -> string -> stringval mapi : (int -> char -> char) -> string -> stringval fold_left : ('acc -> char -> 'acc) -> 'acc -> string -> 'accval fold_right : (char -> 'acc -> 'acc) -> string -> 'acc -> 'accval for_all : (char -> bool) -> string -> boolval exists : (char -> bool) -> string -> boolval trim : string -> stringval escaped : string -> stringval uppercase_ascii : string -> stringval lowercase_ascii : string -> stringval capitalize_ascii : string -> stringval uncapitalize_ascii : string -> stringval iter : (char -> unit) -> string -> unitval iteri : (int -> char -> unit) -> string -> unitval find_first_index : (char -> bool) -> ?start:??? -> string -> int optionval find_last_index : (char -> bool) -> ?start:??? -> string -> int optionval index_from : string -> int -> char -> intval index_from_opt : string -> int -> char -> int optionval rindex_from : string -> int -> char -> intval rindex_from_opt : string -> int -> char -> int optionval index : string -> char -> intval index_opt : string -> char -> int optionval rindex : string -> char -> intval rindex_opt : string -> char -> int optionval find_first : sub:string -> ?start:??? -> string -> int optionval find_last : sub:string -> ?start:??? -> string -> int optionval find_all : sub:string -> (int -> 'acc -> 'acc) -> ?start:??? -> string -> 'acc -> 'accval rfind_all : sub:string -> (int -> 'acc -> 'acc) -> ?start:??? -> string -> 'acc -> 'accval replace_first : sub:string -> by:string -> ?start:??? -> string -> stringval replace_last : sub:string -> by:string -> ?start:??? -> string -> stringval replace_all : sub:string -> by:string -> ?start:??? -> string -> stringval to_seq : t -> char Stdlib.Seq.tval to_seqi : t -> (int * char) Stdlib.Seq.tval of_seq : char Stdlib.Seq.t -> tval get_utf_8_uchar : t -> int -> Stdlib.Uchar.utf_decodeval is_valid_utf_8 : t -> boolval get_utf_16be_uchar : t -> int -> Stdlib.Uchar.utf_decodeval is_valid_utf_16be : t -> boolval get_utf_16le_uchar : t -> int -> Stdlib.Uchar.utf_decodeval is_valid_utf_16le : t -> boolval edit_distance : ?limit:??? -> t -> t -> intval spellcheck : ?max_dist:??? -> ((string -> unit) -> unit) -> string -> string listval get_uint8 : string -> int -> intval get_int8 : string -> int -> intval get_uint16_ne : string -> int -> intval get_uint16_be : string -> int -> intval get_uint16_le : string -> int -> intval get_int16_ne : string -> int -> intval get_int16_be : string -> int -> intval get_int16_le : string -> int -> intval get_int32_ne : string -> int -> int32val seeded_hash : int -> t -> intval get_int32_be : string -> int -> int32val get_int32_le : string -> int -> int32val get_int64_ne : string -> int -> int64val get_int64_be : string -> int -> int64val get_int64_le : string -> int -> int64val unsafe_get : string -> int -> charval unsafe_blit : string -> int -> bytes -> int -> int -> unitval compare_ignore_case : string -> string -> intCase-insensitive string comparison. Only ISO-8859-1 accents are handled.
val remove_prefix : ?strict:bool -> string -> string -> string optionremove_prefix ~strict prefix s returns None if prefix is not a prefix of s and Some s' iff s=prefix^s'.
val remove_suffix : ?strict:bool -> string -> string -> string optionremove_suffix ~strict suffix s returns None if suffix is not a suffix of s and Some s' iff s=s'^suffix.
val utf8_length : string -> intSame as String.length but counts utf8 characters instead of bytes.
val utf8_escaped : string -> stringSame as String.escaped but for utf8 encoded strings. Unicode non ASCII characters are preserved unescaped.
val trim_underscores : string -> stringremove underscores at the beginning and end of a string. If a string is composed solely of underscores, return the empty string
val html_escape : string -> stringEscape string for use in HTML tag.
val percent_encode : string -> stringpercent_encode s returns the string s encoded so that it can be used as a path component in a HTML URL. All characters not on the list of unreserved characters in RFC3986 are percent-encoded. For instance the space character is converted to %20.
Cf. https://datatracker.ietf.org/doc/html/rfc3986#section-2.3 for the list of unreserved characters.
val means_yes : string -> boolReturn true if the string is "yes", "true" or "1" (ignore case).