Luaで文字列を操作するための基本的なメソッド
文字列とは、制御文字と同様に文字の並びのことです。文字列は、次の3つの形式で初期化することができます。
- シングルクォートで囲まれた文字
- 二重引用符で囲まれた文字
- と] [[and]]の間の文字
上記3つのフォームの例を以下に示します。
print("\"String 1 is\"",string1)
string2 = 'Tutorial'
print("String 2 is",string2)
string3 = [["Lua Tutorial"]]
print("String 3 is",string3)
上記のプログラムを実行すると、次のような出力が得られます。
String 2 is Tutorial
String 3 is "Lua Tutorial"
エスケープされた文字列の中で、文字の通常の解釈を変更する文字列を使用します。例えば、上の例で二重引用符("")を印刷する場合、 \" というエスケープシーケンスを使用していますが、その使用方法は以下の表のとおりです。
文字列操作
Luaは文字列の操作に対応しています。
では、これらの文字列操作関数の動作を確認するために、いくつかの例に飛び込んでみましょう。
大文字小文字の操作
文字列を操作して大文字と小文字を変換するサンプルコードは次のとおりです。
print(string.upper(string1))
print(string.lower(string1))
上記のプログラムを実行すると、次のような出力が得られます。
lua
部分文字列の置換
ある文字列の出現回数を別の文字列に置き換えるサンプルコードは次のとおりです。
-- replacing strings
newstring = string.gsub(string,"Tutorial","Language")
print("The new string is",newstring)
上記のプログラムを実行すると、次のような出力が得られます。
検索と逆引き
Find String IndexとReverse Stringのサンプルコードは以下の通りです。
-- replacing strings
print(string.find(string,"Tutorial"))
reversedString = string.reverse(string)
print("The new string is",reversedString)
上記のプログラムを実行すると、次のような出力が得られます。
The new string is lairotuT auL
文字列の書式設定
プログラミングをしていると、文字列を整形して表示する必要が出てくることが多々あります。これは、文字列を使用して行うことができます。書式設定関数は、以下のように出力を書式設定します。
string2 = "Tutorial"
number1 = 10
number2 = 20
-- Basic string formatting
print(string.format("Basic formatting %s %s",string1,string2))
-- Date formatting
date = 2; month = 1; year = 2014
print(string.format("Date formatting %02d/%02d/%03d", date, month, year))
-- Decimal formatting
print(string.format("%.4f",1/3))
上記のプログラムを実行すると、次のような出力が得られます。
Date formatting 02/01/2014
0.3333[code]
Character and byte representation
Character and Byte Representation An example code for converting the internal representation of a string from a string and vice versa.
[code]-- Byte conversion
-- First character
print(string.byte("Lua"))
-- Third character
print(string.byte("Lua",3))
-- first character from last
print(string.byte("Lua",-1))
-- Second character
print(string.byte("Lua",2))
-- Second character from last
print(string.byte("Lua",-2))
-- 内部数値のASCII変換
print(文字列.char(97))
上記のプログラムを実行すると、次のような出力が得られます。
97
97
117
117
a
その他の共通機能
文字列の連結、文字列の検索、同じ文字列を複数回繰り返す長さなど、一般的な文字列の操作です。これらの操作は、以下の例で示される。
string2 = "Tutorial"
-- String Concatenations using .
print("Concatenated string",string1..string2)
-- Length of string
print("Length of string1 is ",string.len(string1))
-- Repeating strings
repeatedString = string.rep(string1,3)
print(repeatedString)
上記のプログラムを実行すると、次のような出力が得られます。
Length of string1 is 3
LuaLuaLua
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン