Lua文字列


文字列または文字列は、数字、文字、アンダースコアで構成される文字列です。

Lua 言語の文字列は、次の 3 つの方法で表現できます:

  • 一重引用符で囲まれた文字列。

  • 二重引用符で囲まれた文字列。

  • [[と]]の間の文字列。

上記 3 つのメソッドの文字列の例は次のとおりです:

string1 = "Lua"
print("\"字符串 1 是\"",string1)
string2 = 'w3cschool.cc'
print("字符串 2 是",string2)

string3 = [["Lua 教程"]]
print("字符串 3 是",string3)

上記のコードを実行した出力結果は次のとおりです:

"字符串 1 是"	Lua
字符串 2 是	w3cschool.cc
字符串 3 是	"Lua 教程"

エスケープ文字は、戻るキーなど、直接表示できない文字を表すために使用されます。 、エンターキーなど。たとえば、文字列内の二重引用符を変換するときに """ を使用できます。

すべてのエスケープ文字とそれに対応する意味:

エスケープ文字
の意味
ASCII コード値 (10 進数)
a
Bell(BEL)
007
b
Backspace(BS)、現在の位置を前の列に移動
008
f
改行(FF)、現在位置を次のページの先頭に移動
012
n
現在位置move 次の行の先頭に移動します
010
r
Carriage Enter (CR)、現在位置をこの行の先頭に移動します
013
t
水平タブ(HT) (次のTAB位置にスキップ)
009
v
垂直タブ(VT)
011
\
はバックスラッシュ文字を表します ''
092
'
は単一引用符 (アポストロフィ) 文字を表します
039
は二重引用符文字を表します
034

文字列操作

Lua は文字列操作をサポートする多くのメソッドを提供します:

文字列ケース変換
シリアル番号方法と目的
1string.upper(argument):
String すべて大文字に変換します。
2string. lower(argument):
すべての文字列を小文字に変換します。
3string.gsub(mainString,findString,replaceString,num)
文字列内の置換、mainString は置換される文字列、findString は置換される文字、replaceString は置換される文字, num 置換の数 (無視でき、すべて置換されます)。例:
> string.gsub("aaaa","a","z",3);
zzza	3
4string.strfind (str, substr, [init, [end]])
指定されたターゲット文字列で指定されたコンテンツ (3 番目のパラメータはインデックス) は、その特定の場所を返します。存在しない場合は nil を返します。
> string.find("Hello Lua user", "Lua", 1) 
7	9
5string.reverse(arg)
String reverserree
6string.format(...)
printf のような書式設定された string
> string.reverse("Lua")
auL
を返します
7 string.char(arg)とstring.byte(arg[,int])
charは整数を文字に変換して連結し、byteは文字を整数値に変換します(特定の文字を指定できます、デフォルトは最初の文字)。
> string.format("the value is:%d",4)
the value is:4
8string.len(arg)
文字列の長さを計算します。
> string.char(97,98,99,100)
abcd
> string.byte("ABCD",4)
68
> string.byte("ABCD")
65
>
9string.rep(string, n))
文字列 string のコピーを n 個返します。
string.len("abc")
3
10..
2 つの文字列を連結します。

次の例は、文字列の大文字と小文字を変換する方法を示しています:

> string.rep("abcd",2)
abcdabcd

上記のコードの実行結果は次のとおりです:

> 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