アットウィキロゴ

string

本ページでは、主に文字列を扱うstringライブラリと、文字列をUTF8として扱うutf8ライブラリについて解説する。


特に明記されていない場合の慣用

  • 返り値:string型
  • []で囲われた引数は必須ではなく、ない場合は=で結ばれた値を返す。
  • str:任意の文字列
  • n,m:任意の整数
  • 終端を指定する引数の値が負の数のとき、文字列の末までを範囲にする。

関数一覧

number,... string.byte(str,[n=1],[m=n])

strのnバイト目からmバイト目までの内部数値コードを返す。

string.char(n1,n2,n3,...)

内部数値コードを文字列に変換して全て繋げる。

number, ... utf8.codepoint (str, [n = 1], [m = n])

UTF8上で、strのn文字目からm文字目目までのUTF8数値コードを返す。

utf8.char(x1,x2,...)

任意の数値をUTF8でエンコードする。

utf8.nfcnormalize(str)

strを正規化形式Cで再エンコードする(正準等価性によって分解され、再度合成される。)

utf8.nfdnormalize(str)

strを正規化形式Dで再エンコードする(正準等価性によって分解される。)

string utf8.charpattern() = "[%z\x01-\x7F\xC2-\xF4][\x80-\xBF]*"

strがUTF8として不正がないかを調べるための検索パターン。

string.len(str)

strの文字列の長さ(正確にはバイト数)を返す。
バイト数を返す仕様上、3バイトで指定されている日本語の文字は一文字で3になる。

(nil) number utf8.len (str,[n = 1], [m = -1])

nバイト目(からみてmバイト目まで)のstrのUTF8上での文字数を返す。
不正なbyte列があった場合は、nilとともに最初の不正な文字が何バイト目にあったかをを返す。

number utf8.offset (str,n,[m=1])

mバイト目から見て、UTF上でn文字後が何byte目から始まっているのかを返す。
mバイト目から数えられない場合はエラーを返す。

string.lower(str)

strを全て小文字にする。

string.upper(str)

strを全て大文字にする。

string.rep(str,n)

strをn回繰り返した文字列を返す。

str.reverse(str)

strの順番を逆にした文字列を返す。

function string.gmatch(str,ptn)

呼ばれるたびに、strのptnに一致する部分を(頭の方から)返すイテレータ関数を返す。

function utf8.graphemes(str,[n=1],[m=-1])

呼ばれるたびに、strの一文字が何バイトから始まって何バイトから終わるのかを(nバイト目からmバイト目まで)返すイテレータ関数を返す。

string.sub(str[,n=1],[,m=-1])

strのn文字目(から見てm文字目まで)の文字列を返す。


string.match(str,ptn,[n=1])

n文字目を開始位置として、strについて最初にptnと一致した文字列を返し、ない場合はnilを返す。

number,number string.find(str,ptn,[n=1],[plain=false])

n文字目を開始位置として、strについて最初にptnと一致する頭の文字目と尾の文字目を返し、ない場合はnilを返す。
plainがtrueのとき、ptnのパターンマッチング文字列をただの文字列として扱う。

table string.split(str,[sep=,])

strをsepの文字列のところで分割し、配列にして返す。
sepで指定された文字が連続している場合、連続部分の間に0文字の文字列ががあるとして扱われる

string (,number) string.gsub(str,ptn,repl,[n])

strのptnに一致する部分をreplに指定された方法で置き換えたstrのコピーを返す。
nが指定されている場合、置き換える回数がn回までとなる。
replが文字列のとき、その値で直接置換する。
%n(自然数)は一致した文字列群の部分を表す。
%0は文章全て。
replが関数のとき、一致したときに毎回それが呼ばれる。返り値がnil/falseの時は無効化。
replがテーブルの時、一致した部分の名前の場所に代入されている値へと変換する。

string.format(formatstring,str1,str2,str3,...)

formatstringの記述(Cのprintfファミリーと同じシステム)依存で任意の数の文字列を書式化して返す。

タグ:

string utf8 索引
+ タグ編集
  • タグ:
  • string
  • utf8
  • 索引
最終更新:2020年08月26日 23:19