このLuaモジュールは300,000以上のページで使われています。
余計な混乱やサーバーへの負荷を避けるために、どんな変更でも最初はモジュールのサンドボックス・サブページ、テストケース・サブページで試すべきです。そうすれば、試した変更を1度の編集でこのモジュールに加えることができます。しかし、最初にあなたの提案した変更を、この項目のノートで議論するようにお願いします。
このモジュールは保護されています。このモジュールは非常に多くのページで使用されています。荒らしまたは過失によって多くのページが影響を受け、また些細な編集でもサーバーに多大な負荷をかけるため、編集保護されています。
文字列を扱ういくつかの関数を提供するモジュールです。UTF-8でエンコードされた文字列を取り扱えます。
このモジュールのユニットテストについてはモジュール:String/testcasesをご参照ください。 引数の一覧引数内容既定値説明 文字列の長さを返します。{{#invoke:String|len|文字列}} もしくは{{#invoke:String|len|s=文字列}} 引数の一覧引数内容既定値説明 例: 文字列から指定された部分の文字列を抜き出して返します。{{#invoke:String|sub|文字列|開始位置|終了位置}} もしくは{{#invoke:String|sub|s=文字列|i=開始位置|j=終了位置}} 引数の一覧引数内容既定値説明 開始位置・終了位置には負の数を指定することも可能です。その場合、文字列の後ろから数えます。例えば、「-1」は文字列の最後の文字です。 文字の位置が範囲外の場合、エラーになります。 例: この関数は{{Str sub}}を実装しており、Str subのような古いテンプレートを維持するために残されています。文字列から指定された部分の文字列を抜き出して返します。{{#invoke:String|sublength|s=文字列|i=開始位置|len=長さ}} 引数の一覧引数内容既定値説明 例: パターンに一致する文字列を返します。{{#invoke:String|match|文字列|パターン|検索開始位置|一致番号|プレーンフラグ|エラー出力}} もしくは{{#invoke:String|match|s=文字列|pattern=パターン|start=検索開始位置|match=一致番号|plain=プレーンフラグ|nomatch=エラー出力}} 引数の一覧引数内容既定値説明 検索開始位置・一致番号には負の数を指定することも可能です。その場合、後ろから数えます。 パターンにキャプチャがある場合はそのキャプチャを返します。 matchかstart引数が範囲外の場合、エラーを返します。パターンが見つからなかった場合はnomatchを指定していなければエラーを返します。また、ignore_errors=trueを指定した場合、いずれのエラーも返さず、代わりに空の文字列を返します。 Luaパターンの詳細はScribunto patterns 例: 文字列の中から指定された位置にある文字を返します。{{#invoke:String|pos|文字列|位置}} もしくは{{#invoke:String|pos|target=文字列|pos=位置}} 引数の一覧引数内容既定値説明
共通引数
ignore_errorsエラー無視なし
false, no, 0, 空文字
エラーがあるときはそのままエラーを返す
true、1など上記以外の文字列
エラーがあってもエラーを返さず空文字を返す
error_categoryエラーカテゴリCategory:モジュールStringのエラーエラーがあるときのCategory:追跡カテゴリ名を指定する
no_categoryカテゴリ付与なし
false, no, 0, 空文字
エラーがあるときにエラーカテゴリを付与する
true、1など上記以外の文字列
エラーがあってもエラーカテゴリを付与しない
使い方
len
s文字列なし対象の文字列
{{#invoke:String|len。abcdefghi }} → 11
{{#invoke:String|len|s= abcdefghi }} → 9
sub
s文字列なし元の文字列
i開始位置1抜き出す初めの文字の位置
j終了位置-1抜き出す最後の文字の位置
"{{#invoke:String|sub。abcdefghi }}" → " abcdefghi "
"{{#invoke:String|sub|s= abcdefghi }}" → "abcdefghi"
"{{#invoke:String|sub。abcdefghi 。3 }}" → "bcdefghi "
"{{#invoke:String|sub|s= abcdefghi |i= 3 }}" → "cdefghi"
"{{#invoke:String|sub。abcdefghi 。3 。4 }}" → "bc"
"{{#invoke:String|sub|s= abcdefghi |i= 3 |j= 4 }}" → "cd"
sublength
s文字列なし元の文字列
i開始位置1抜き出す初めの文字の位置。1文字目は"0"を指定します
len長さ元の文字列の長さ抜き出す文字列の長さ
{{#invoke:String|sublength|s= abcdefghi }} → abcdefghi
{{#invoke:String|sublength|s= abcdefghi |i= 3 }} → defghi
{{#invoke:String|sublength|s= abcdefghi |i= 3 |len= 4 }} → defg
match
s文字列なし検索対象の文字列
patternパターンなし検索する文字列パターン
start検索開始位置1検索を開始する文字の位置
match一致番号1検索開始位置から何番目の一致箇所を返すか
plainプレーンフラグfalse
false, no, 0, 空文字
パターンをLuaパターン
true、1など上記以外の文字列
パターンをプレーンテキストとして解釈する
nomatchエラー出力なし何もマッチしなかったときに返す文字列
何も指定しないとエラーを返す(既定)
{{#invoke:String|match。abc123def456 |%d+}} → 123
{{#invoke:String|match|s= abc123def456 |pattern= %d+ }} → 123
{{#invoke:String|match。abc123def456 |%d+|6}} → 23
{{#invoke:String|match|s= abc123def456 |pattern= %d+ |start= 6 }} → 3
{{#invoke:String|match|s= abc123def456 |pattern= %d+ |start= 6 |match= 2 }} → 456
{{#invoke:String|match|s= abc123%d+ |pattern= %d+ }} → 123
{{#invoke:String|match|s= abc123%d+ |pattern= %d+ |plain= true }} → %d+
{{#invoke:String|match|s= abc |pattern= %d }} → モジュールStringのエラー: Match not found
{{#invoke:String|match|s= abc |pattern= %d |nomatch= No numeric characters in string }} → No numeric characters in string
pos
target文字列なし検索対象の文字列
Size:93 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)』
担当:undef