文字が含まれているかチェック find()
string name = "abcdefghijk";
int flag = find(name, "cdef");
printf(sprintf('%g', flag) + '\n');
// 2
find関数で文字列に特定の文字が含まれているかチェックしている。なければマイナスの値が返る。
文字を入れ替える re_replace()
string name = "abc_def";
name = re_replace("abc_", "", name);
printf(sprintf('%g', name) + '\n');
// def
re_replace関数を使い、abc_という文字列を空白と入れ替えて消去している。
正規表現を使って入れ替える
string name = "abc(defghi)jk";
name = re_replace(r"\(.*\)", "", name);
printf(sprintf('%g', name) + '\n');
// abcjk
(abcd)のような括弧に囲まれた文字列をそのまま消している。「(」はメタ文字なので 「 \ 」 を前につける。なんでもいい連続した文字は 「 .* 」 になる。
文字を分割する split()
string path = "abc/def/ghi";
string char[] = split(path, "/");
printf(sprintf('%g', char) + '\n');
// {abc, def, ghi}
Split()関数を使いスラッシュで分割する。
インデックス指定で文字を抽出する slice()
コードは最初と最後の文字を削る例。
string str = "abcdefg";
str = slice(str, 1, len(str)-1);
printf(sprintf('%g', str) + '\n');
// bcdef
数字の桁をそろえる rint()
int digit = 2;
float coef = pow(10, digit);
float value = rint(3.14159 * coef) / coef;
s@value = sprintf("%d", value);
3.14159は3.14の小数点第二位に丸められる。