module String: sig end
文字列処理です。
val length : string -> int
与えられた文字列の長さ (文字数) を返します。
val get : string -> int -> char
String.get s n
は文字列 s
の n
番目の文字を返します。
先頭文字は 0 番目、終端文字は String.length s - 1
番目になります。
n
が 0 から (String.length s - 1)
までの範囲になかったら例外 Invalid_argument
を発生します。
String.get s n
と書く代わりに s.[n]
と書くこともできます。
val set : string -> int -> char -> unit
String.set s n c
は文字列 s
の n
番目の文字を c
に書き換えます。
n
が 0 から (String.length s - 1)
までの範囲になかったら例外 Invalid_argument
を発生します。
String.set s n c
と書く代わりに s.[n] <- c
と書くこともできます。
val create : int -> string
String.create n
は長さ n
の文字列を新しく作って返します。
初期状態で文字列がどのような文字を持っているかは不明です。
n < 0
または n > Sys.max_string_length
である場合は例外 Invalid_argument
を発生します。
val make : int -> char -> string
String.make n c
は長さ n
の文字列を新しく作って返します。初期状態で文字列は c
で埋められています。
n < 0
または n > Sys.max_string_length
である場合は例外 Invalid_argument
を発生します。
val copy : string -> string
与えられた文字列のコピーを作って返します。
val sub : string -> int -> int -> string
String.sub s start len
は長さ
len
の文字列を新しく作って返します。この文字列は
s
の
start
番目から
start + len - 1
番目までの文字で構成された部分文字列です。
start
と
len
が
s
の部分文字列指定として不正であった場合は例外
Invalid_argument
を発生します。不正な場合とは、
start < 0
または
start + len >
String.length
s
の場合です。
val fill : string -> int -> int -> char -> unit
String.fill s start len c
は文字列 s
の start
番目から start + len - 1
番目までの文字をすべて c
に書き換えます。
start
と len
が s
の部分文字列指定として不正であった場合は例外 Invalid_argument
を発生します。
val blit : string -> int -> string -> int -> int -> unit
String.blit src srcoff dst dstoff len
は文字列 src
の srcoff
番目から始まる len
文字を、文字列 dst
の dstoff
番目へコピーします。src
と dst
は実体の同じ文字列で、コピー元とコピー先の範囲指定が重なっていても正常に動作します。
srcoff
と len
が src
の部分文字列指定として不正であったり、dstoff
と len
が dst
の部分文字列指定として不正であったりした場合は例外 Invalid_argument
を発生します。
val concat : string -> string list -> string
String.concat sep sl
は文字列のリスト sl
を繋いで 1 つの文字列とします。それぞれの文字列と文字列の間にはセパレータ文字列 sep
を挿入します。
val iter : (char -> unit) -> string -> unit
String.iter f s
は s
の各文字を順に関数 f
に適用します。f s.(0); f s.(1); ...; f s.(String.length s - 1); ()
と等価です。
val escaped : string -> string
引数の文字列をコピーして、Objective Caml の字句規則に従い特殊文字をエスケープして返します。引数の文字列が特殊文字を持たなかった場合はコピーではなく引数をそのまま返します。
val index : string -> char -> int
String.index s c
は文字列 s
中で文字 c
が左端から探して最初に現れる位置を返します。
s
中から c
が見つからなかった場合は例外 Not_found
を発生します。
val rindex : string -> char -> int
String.index s c
は文字列 s
中で文字 c
が右端から探して最初に現れる位置を返します。
s
中から c
が見つからなかった場合は例外 Not_found
を発生します。
val index_from : string -> int -> char -> int
String.index
と同じですが、探し始める位置を第二引数に指定できます。
String.index s c
は
String.index_from s 0 c
と等価です。
val rindex_from : string -> int -> char -> int
String.rindex
と同じですが、探し始める位置を第二引数に指定できます。
String.rindex s c
は
String.rindex_from s (String.length s - 1) c
と等価です。
val contains : string -> char -> bool
String.contains s c
は文字列 s
中に文字 c
があるかどうか検査します。
val contains_from : string -> int -> char -> bool
String.contains_from s start c
は文字列 s
の start
番目から終端までの間に文字 c
があるかどうか検査します。start
が s
の位置指定として不正であった場合は例外 Invalid_argument
を発生します。
val rcontains_from : string -> int -> char -> bool
String.rcontains_from s stop c
は文字列 s
の先頭から stop
番目までの間に文字 c
があるかどうか検査します。stop
が s
の位置指定として不正であった場合は例外 Invalid_argument
を発生します。
val uppercase : string -> string
引数の文字列をコピーして、小文字 (ISO Latin-1 (8859-1) 文字集合のアクセント付き文字も含む) をすべて大文字に変換して返します。
val lowercase : string -> string
引数の文字列をコピーして、大文字 (ISO Latin-1 (8859-1) 文字集合のアクセント付き文字も含む) をすべて小文字に変換して返します。
val capitalize : string -> string
引数の文字列をコピーして、先頭文字を大文字にして返します。
val uncapitalize : string -> string
引数の文字列をコピーして、先頭文字を小文字にして返します。
type t = string
文字列型の別名です。
val compare : t -> t -> int