Luaの文字列
文字列または文字列(String)を文字の文字列が数字で構成され、文字は、その強調しています。
Luaの言語文字列は、以下の方法を使用して表現することができます。
- 引用符の間の文字の単一の文字列。
- 二重引用符間の文字列。
- [[と]]の文字列の間。
次のように3つの方法の上記の文字列の例:
string1 = "Lua" print("\"字符串 1 是\"",string1) string2 = 'w3cschool.cc' print("字符串 2 是",string2) string3 = [["Lua 教程"]] print("字符串 3 是",string3)
出力は、上記のコードが実行されます。
"字符串 1 是" Lua 字符串 2 是 w3cschool.cc 字符串 3 是 "Lua 教程"
文字が表すエスケープなどというように、バックキー、Enterキー、およびとして、直接表示することができません。 二重引用符のように "\"文字列を変換するために使用することができます。」
すべてのエスケープ文字とそれに対応する意味:
エスケープ文字 | 意味 | ASCII値(10進数) |
\ A | ベル(BEL) | 007 |
\ B | バックスペース(BS)、以前のものと現在位置 | 008 |
\ F | フォームフィード(FF)、次のページの先頭に現在位置 | 012 |
\ N | ラインフィード(LF)、次の行の先頭に現在位置 | 010 |
\ R | キャリッジリターン(CR)、行の先頭に現在位置 | 013 |
\ T | 水平タブ(HT)(次のタブ位置にスキップ) | 009 |
\ V | 垂直タブ(VT) | 011 |
\\ | バックスラッシュ文字を表す '\' | 092 |
\ ' | 単一引用符(アポストロフィ)文字の代わりに | 039 |
\ " | これは、二重引用符文字を表します | 034 |
\ 0 | ヌル文字(NULL) | 000 |
\ DDD | 任意の文字1-3 8進数を表します | 三進 |
\ Xhh | 1-2 16進文字は、いずれかを表し | 2つの16進 |
文字列処理
Luaは文字列の操作をサポートする多くの方法が用意されています。
いいえ。 | 方法と目的 |
---|---|
1 | string.upper(引数): 文字列すべて大文字。 |
2 | string.lower(引数): 文字列すべて小文字。 |
3 | string.gsub(mainString、FINDSTRING、replaceString、 NUM) 置換文字列では、mainStringは、文字列を置換したい、置き換えられた文字のFINDSTRINGは、文字を置き換えるためにreplaceString、numが発生を取り付けます(すべてを置き換える、無視することができる)、例えば: > string.gsub("aaaa","a","z",3); zzza 3 |
4 | string.strfind(strの、substrは、[初期化 、[終了]]) 指定されたターゲット文字列で指定されたコンテンツ(インデックスの三番目のパラメータ)を検索し、その位置を返します。 それがnilを返し、存在しません。 > string.find("Hello Lua user", "Lua", 1) 7 9 |
5 | string.reverse(引数) 文字列を逆にするには > string.reverse("Lua") auL |
6 | String.Formatの(...) printfのような書式文字列を返します。 > string.format("the value is:%d",4) the value is:4 |
7 | string.char(引数)とstring.byte(引数[、INT]) char型の整数が文字との接続に変わります、整数値に変換バイト文字が(あなたが文字、デフォルトでは最初の文字を指定することができます)。 > string.char(97,98,99,100) abcd > string.byte("ABCD",4) 68 > string.byte("ABCD") 65 > |
8 | string.len(引数) 文字列の長さを計算します。 string.len("abc") 3 |
9 | string.rep(文字列、n))を 文字列文字列のn個のコピーを返します。 > string.rep("abcd",2) abcdabcd |
10 | .. リンク2つの文字列を > print("www.w3cschool".."cc") www.w3cschoolcc |
文字列大文字と小文字の変換
次の例では、文字列のケースを変換する方法を示しています。
string1 = "Lua"; print(string.upper(string1)) print(string.lower(string1))
上記のコードは、の結果として実行されます。
LUA lua
文字列検索と逆
次の例では、文字列の検索と操作を逆にする方法を示しています。
string = "Lua Tutorial" -- 查找字符串 print(string.find(string,"Tutorial")) reversedString = string.reverse(string) print("新字符串为",reversedString)
上記のコードは、の結果として実行されます。
5 12 新字符串为 lairotuT auL
文字列フォーマット
次の例では、文字列の書式を設定する方法を示しています。
string1 = "Lua" string2 = "Tutorial" number1 = 10 number2 = 20 -- 基本字符串格式化 print(string.format("基本格式化 %s %s",string1,string2)) -- 日期格式化 date = 2; month = 1; year = 2014 print(string.format("日期格式化 %02d/%02d/%03d", date, month, year)) -- 十进制格式化 print(string.format("%.4f",1/3))
上記のコードは、の結果として実行されます。
基本格式化 Lua Tutorial 日期格式化 02/01/2014 0.3333
文字と整数変換
次の例では、文字と整数の変換を示します。
-- 字符转换 -- 转换第一个字符 print(string.byte("Lua")) -- 转换第三个字符 print(string.byte("Lua",3)) -- 转换末尾第一个字符 print(string.byte("Lua",-1)) -- 第二个字符 print(string.byte("Lua",2)) -- 转换末尾第二个字符 print(string.byte("Lua",-2)) -- 整数 ASCII 码转换为字符 print(string.char(97))
上記のコードは、の結果として実行されます。
76 97 97 117 117 a
他の一般的に使用される機能
次の例では、他のそのような文字列の長さを計算するなどの文字列操作、文字列の連結、文字列の複製を示します。
string1 = "www." string2 = "w3cschool" string3 = ".cc" -- 使用 .. 进行字符串连接 print("连接字符串",string1..string2..string3) -- 字符串长度 print("字符串长度 ",string.len(string2)) -- 字符串复制 2 次 repeatedString = string.rep(string2,2) print(repeatedString)
上記のコードは、の結果として実行されます。
连接字符串 www.w3cschool.cc 字符串长度 9 w3cschoolw3cschool