Lua tali
String atau string (String) adalah string karakter terdiri dari angka, huruf, garis bawah tersebut.
Lua string bahasa dapat dinyatakan menggunakan metode berikut:
- string tunggal dari karakter antara tanda kutip.
- Sebuah string karakter antara tanda kutip ganda.
- [[Dan]] antara string karakter.
Contoh dari string di atas tiga cara sebagai berikut:
string1 = "Lua" print("\"字符串 1 是\"",string1) string2 = 'w3cschool.cc' print("字符串 2 是",string2) string3 = [["Lua 教程"]] print("字符串 3 是",string3)
output kode di atas dijalankan:
"字符串 1 是" Lua 字符串 2 是 w3cschool.cc 字符串 3 是 "Lua 教程"
Melarikan diri karakter mewakili tidak dapat ditampilkan secara langsung, seperti kunci kembali, tombol Enter, dan sebagainya. Seperti dalam tanda kutip ganda dapat digunakan untuk mengkonversi string "\". "
Semua karakter melarikan diri dan makna yang sesuai:
karakter escape | makna | nilai ASCII (desimal) |
\ A | Bell (BEL) | 007 |
\ B | Backspace (BS), posisi saat ini dengan yang sebelumnya | 008 |
\ F | pakan bentuk (FF), posisi saat ini ke awal halaman berikutnya | 012 |
\ N | line feed (LF), posisi saat ini ke awal baris berikutnya | 010 |
\ R | Sebuah kereta pulang (CR), posisi saat ini ke awal baris | 013 |
\ T | tab horizontal (HT) (melompat ke posisi TAB berikutnya) | 009 |
\ V | Vertikal Tab (VT) | 011 |
\\ | Mewakili karakter backslash '\' | 092 |
\ ' | Atas nama kutip tunggal (apostrof) karakter | 039 |
\ " | Ini merupakan karakter double-quote | 034 |
\ 0 | karakter null (NULL) | 000 |
\ Ddd | Sejumlah karakter 1-3 oktal diwakili | tiga oktal |
\ Xhh | 1-2 karakter heksadesimal mewakili setiap | dua heksadesimal |
String Manipulasi
Lua memberikan banyak cara untuk mendukung operasi string:
Tidak. | Metode & Tujuan |
---|---|
1 | string.upper (argumen): String semua huruf besar. |
2 | string.lower (argumen): String semua huruf kecil. |
3 | string.gsub (mainString, findString, replaceString, num) Dalam string pengganti, mainString ingin mengganti string, findString untuk karakter yang diganti, replaceString untuk menggantikan karakter, num Ganti Kejadian (dapat diabaikan, maka mengganti semua), seperti: > string.gsub("aaaa","a","z",3); zzza 3 |
4 | string.strfind (str, substr, [init , [end]]) Mencari konten tertentu (parameter ketiga untuk indeks) di target string tertentu dan mengembalikan lokasi. Tidak ada, ia mengembalikan nil. > string.find("Hello Lua user", "Lua", 1) 7 9 |
5 | string.reverse (arg) Untuk membalikkan string > string.reverse("Lua") auL |
6 | string.format (...) Mengembalikan printf-seperti string format > string.format("the value is:%d",4) the value is:4 |
7 | string.char (arg) dan string.byte (arg [, int]) angka integer arang akan berubah menjadi karakter dan koneksi, karakter byte dikonversi ke nilai integer (Anda dapat menentukan karakter, karakter pertama secara default). > string.char(97,98,99,100) abcd > string.byte("ABCD",4) 68 > string.byte("ABCD") 65 > |
8 | string.len (arg) Hitung panjang string. string.len("abc") 3 |
9 | string.rep (string, n)) Pengembalian n salinan string string > string.rep("abcd",2) abcdabcd |
10 | .. Link dua string > print("www.w3cschool".."cc") www.w3cschoolcc |
String konversi kasus
Contoh berikut menunjukkan bagaimana mengkonversi kasus tali:
string1 = "Lua"; print(string.upper(string1)) print(string.lower(string1))
Kode di atas dijalankan sebagai akibat dari:
LUA lua
string pencarian dan sebaliknya
Contoh berikut menunjukkan bagaimana string untuk menemukan dan reverse operasi:
string = "Lua Tutorial" -- 查找字符串 print(string.find(string,"Tutorial")) reversedString = string.reverse(string) print("新字符串为",reversedString)
Kode di atas dijalankan sebagai akibat dari:
5 12 新字符串为 lairotuT auL
format String
Contoh berikut menunjukkan bagaimana format string:
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))
Kode di atas dijalankan sebagai akibat dari:
基本格式化 Lua Tutorial 日期格式化 02/01/2014 0.3333
Karakter dan integer konversi
Contoh berikut menunjukkan karakter dan integer konversi:
-- 字符转换 -- 转换第一个字符 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))
Kode di atas dijalankan sebagai akibat dari:
76 97 97 117 117 a
Fungsi lain yang umum digunakan
Contoh berikut menunjukkan operasi string lainnya, seperti menghitung panjang string, string Rangkaian, replikasi String:
string1 = "www." string2 = "w3cschool" string3 = ".cc" -- 使用 .. 进行字符串连接 print("连接字符串",string1..string2..string3) -- 字符串长度 print("字符串长度 ",string.len(string2)) -- 字符串复制 2 次 repeatedString = string.rep(string2,2) print(repeatedString)
Kode di atas dijalankan sebagai akibat dari:
连接字符串 www.w3cschool.cc 字符串长度 9 w3cschoolw3cschool