Module String


module String: sig .. end
文字列の操作

長さ l の文字列 s が与えられたとき、 s 中の文字を表す番号をその文字の添字と呼びます。 添字は 0 から始まります。ある数字が区間 [0...l-1] にあるとき、その数字は s に対して有効な添字であるとと言います。 ある文字と文字、または文字の先頭や末尾との間を文字列中の位置と呼びます。 区間 [0...l] にある位置を s に対して有効な位置と言います。 添字 n は位置 nn + 1 の間にあることに注意してください。

パラメータ startlen があり len >= 0 かつ、 startstart + lens の有効な位置であるとき、 startlens の有効な部分文字列を表す、と言います。


val length : string -> int
与えられた文字列の長さ(文字数)を返します。
val get : string -> int -> char
String.get s n は文字列 sn 文字目を返します。 String.get s n の代わりに s.[n] と書くこともできます。

ns の有効な添字でない場合は Invalid_argument 例外が発生します。

val set : string -> int -> char -> unit
String.set s n c は文字列 sn 文字目を c で置き換えて破壊的に更新します。 String.set s n c の代わりに s.[n] <- c と書くこともできます。

ns の有効な添字でない場合は Invalid_argument 例外が発生します。

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 は、 s の位置 start から始まり長さ len である部分文字列を格納した、長さ len の新しい文字列を返します。

startlens の有効な部分文字列を表さない場合には Invalid_argument 例外が発生します。

val fill : string -> int -> int -> char -> unit
String.fill s start len csstart 文字目から len 文字を文字 c で置き換えて破壊的に更新します。

startlens の有効な部分文字列を表さない場合には Invalid_argument 例外が発生します。

val blit : string -> int -> string -> int -> int -> unit
String.blit src srcoff dst dstoff lensrcsrcoff 文字目から len 文字を dstdstoff 文字目にコピーします。 この関数は srcdst が同一の文字で、コピー元とコピー先の区間が重なっていても正しく動作します。

srcofflensrc の有効な部分文字列を表さない場合や、 dstofflendst の有効な部分文字列を表さない場合は Invalid_argument 例外が発生します。

val concat : string -> string list -> string
String.concat seq sl は文字列のリスト sl の各要素の間に区切り文字列 sep を挿入して連結します。
val iter : (char -> unit) -> string -> unit
String.iter f ss のすべての文字に順に関数 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 が現れる最初の添字を返します。

文字 c が 文字列 s 中に現れない場合には Not_found 例外が発生します。

val rindex : string -> char -> int
String.rindex s c は文字列 s 中で文字 c が現れる最後の添字を返します。

文字 c が 文字列 s 中に現れない場合には Not_found 例外が発生します。

val index_from : string -> int -> char -> int
String.index_from s i c は文字列 s の位置 i 以降で最初に文字 c の現れる位置の添字を返します。 String.index s cString.index_from s 0 c と等価です。

is の有効な位置でない場合には Invalid_argument 例外が発生します。 文字 c が 文字列 s 中に現れない場合には Not_found 例外が発生します。

val rindex_from : string -> int -> char -> int
String.rindex_from s i c は文字列 s の位置 i + 1 より前で最後に文字 c の現れる位置の添字を返します。 String.rindex s cString.rindex_from s (String.length s - 1) c と等価です。

i + 1s の有効な位置でない場合には Invalid_argument 例外が発生します。 文字 c が 文字列 s 中に現れない場合には Not_found 例外が発生します。

val contains : string -> char -> bool
String.contains s c は文字 c が文字列 s 中に現れるか検査します。
val contains_from : string -> int -> char -> bool
String.contains_from s start c は文字 c が文字列 s の位置 start 以降に現れるか検査します。 String.contains s cString.contains s 0 c と等価です。

starts の有効な位置でない場合 Invalid_argument 例外が発生します。

val rcontains_from : string -> int -> char -> bool
String.rcontains_from s stop c は文字 c が文字列 s の位置 stop + 1 より前に現れるか検査します。

stop < 0stops の有効な位置でない場合 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
compare と同じ仕様の文字列の比較関数です。 型 t に加えてこの関数があることにより、 String モジュールを Set.MakeMap.Make といったファンクタの引数に渡すことができるようになっています。