Строка — это последовательность символов, а также управляющие символы, такие как подача формы. Строка может быть инициализирована с тремя формами, которая включает в себя —
- Символы между одинарными кавычками
- Символы между двойными кавычками
- Символы между [[и]]
Пример вышеупомянутых трех форм показан ниже.
string1 = "Lua" print("\"String 1 is\"",string1) string2 = 'Tutorial' print("String 2 is",string2) string3 = [["Lua Tutorial"]] print("String 3 is",string3)
Когда мы запустим вышеуказанную программу, мы получим следующий вывод.
"String 1" is Lua String 2 is Tutorial String 3 is "Lua Tutorial"
Символы Escape-последовательности используются в строке для изменения обычной интерпретации символов. Например, чтобы напечатать двойные кавычки («»), мы использовали \ «в приведенном выше примере. Экранирующая последовательность и ее использование перечислены ниже в таблице.
Последовательность побега | использование |
---|---|
\ а | колокол |
\ б | возврат на одну позицию |
\ е | Под.стр |
\ п | Новая линия |
\р | Возврат каретки |
\ т | табуляция |
\ v | Вертикальная вкладка |
\\ | бэкслэш |
\» | Двойные кавычки |
\» | Одинарные кавычки |
\ [ | Левая квадратная скобка |
\] | Правая квадратная скобка |
Манипуляция строк
Lua поддерживает строку для работы со строками —
Sr.No. | Метод и цель |
---|---|
1 |
string.upper (аргумент) Возвращает заглавное представление аргумента. |
2 |
string.lower (аргумент) Возвращает строчное представление аргумента. |
3 |
string.gsub (mainString, FindString, replaceString) Возвращает строку путем замены вхождений findString на replaceString. |
4 |
string.find (mainString, FindString, optionalStartIndex, optionalEndIndex) Возвращает начальный индекс и конечный индекс findString в основной строке и nil, если не найден. |
5 |
string.reverse (Arg) Возвращает строку путем обращения символов переданной строки. |
6 |
String.Format (…) Возвращает отформатированную строку. |
7 |
string.char (arg) и string.byte (arg) Возвращает внутренние числовые и символьные представления входного аргумента. |
8 |
string.len (Arg) Возвращает длину переданной строки. |
9 |
string.rep (string, n)) Возвращает строку, повторяя одну и ту же строку n раз. |
10 |
.. Таким образом, оператор объединяет две строки. |
string.upper (аргумент)
Возвращает заглавное представление аргумента.
string.lower (аргумент)
Возвращает строчное представление аргумента.
string.gsub (mainString, FindString, replaceString)
Возвращает строку путем замены вхождений findString на replaceString.
string.find (mainString, FindString,
optionalStartIndex, optionalEndIndex)
Возвращает начальный индекс и конечный индекс findString в основной строке и nil, если не найден.
string.reverse (Arg)
Возвращает строку путем обращения символов переданной строки.
String.Format (…)
Возвращает отформатированную строку.
string.char (arg) и string.byte (arg)
Возвращает внутренние числовые и символьные представления входного аргумента.
string.len (Arg)
Возвращает длину переданной строки.
string.rep (string, n))
Возвращает строку, повторяя одну и ту же строку n раз.
..
Таким образом, оператор объединяет две строки.
Теперь давайте рассмотрим несколько примеров, чтобы точно увидеть, как ведут себя эти функции манипуляции со строками.
Манипуляция делами
Пример кода для управления строками в верхнем и нижнем регистре приведен ниже.
string1 = "Lua"; print(string.upper(string1)) print(string.lower(string1))
Когда мы запустим вышеуказанную программу, мы получим следующий вывод.
LUA lua
Замена подстроки
Пример кода для замены вхождений одной строки другой приведен ниже.
string = "Lua Tutorial" -- replacing strings newstring = string.gsub(string,"Tutorial","Language") print("The new string is "..newstring)
Когда мы запустим вышеуказанную программу, мы получим следующий вывод.
The new string is Lua Language
Нахождение и Реверс
Пример кода для поиска индекса подстроки и обратной строки приведен ниже.
string = "Lua Tutorial" -- replacing strings print(string.find(string,"Tutorial")) reversedString = string.reverse(string) print("The new string is",reversedString)
Когда мы запустим вышеуказанную программу, мы получим следующий вывод.
5 12 The new string is lairotuT auL
Форматирование строк
Много раз в нашем программировании нам может потребоваться печатать строки в отформатированном виде. Вы можете использовать функцию string.format для форматирования вывода, как показано ниже.
string1 = "Lua" 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))
Когда мы запустим вышеуказанную программу, мы получим следующий вывод.
Basic formatting Lua Tutorial Date formatting 02/01/2014 0.3333
Символьные и байтовые представления
Пример кода для символьного и байтового представления, который используется для преобразования строки из строки во внутреннее представление и наоборот.
-- 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)) -- Internal Numeric ASCII Conversion print(string.char(97))
Когда мы запустим вышеуказанную программу, мы получим следующий вывод.
76 97 97 117 117 a
Другие общие функции
Обычные манипуляции со строками включают в себя конкатенацию строк, определение длины строки и время от времени повторение одной и той же строки несколько раз. Пример для этих операций приведен ниже.
string1 = "Lua" 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)
Когда мы запустим вышеуказанную программу, мы получим следующий вывод.