Lua-문자열
문자열은 일련의 문자이자 양식 공급과 같은 제어 문자입니다. 문자열은 다음을 포함하는 세 가지 형식으로 초기화 될 수 있습니다.
- 작은 따옴표 사이의 문자
- 큰 따옴표 사이의 문자
- [[와]] 사이의 문자
위의 세 가지 형식에 대한 예가 아래에 나와 있습니다.
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"
이스케이프 시퀀스 문자는 문자의 일반적인 해석을 변경하기 위해 문자열에서 사용됩니다. 예를 들어, 이중 반전 쉼표 ( "")를 인쇄하기 위해 위의 예에서 \ "를 사용했습니다. 이스케이프 시퀀스와 그 사용법은 아래 표에 나열되어 있습니다.
탈출 시퀀스 | 사용하다 |
---|---|
\ㅏ | 벨 |
\비 | 역행 키이 |
\에프 | Formfeed |
\엔 | 새로운 라인 |
\아르 자형 | 캐리지 리턴 |
\티 | 탭 |
\V | 수직 탭 |
\\ | 백 슬래시 |
\ " | 큰 따옴표 |
\ ' | 작은 따옴표 |
\ [ | 왼쪽 대괄호 |
\] | 오른쪽 대괄호 |
문자열 조작
루아는 문자열을 조작하기 위해 문자열을 지원합니다-
Sr. 아니. | 방법 및 목적 |
---|---|
1 | string.upper(argument) 인수의 대문자 표현을 반환합니다. |
2 | string.lower(argument) 인수의 소문자 표현을 반환합니다. |
삼 | 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) and string.byte(arg) 입력 인수의 내부 숫자 및 문자 표현을 반환합니다. |
8 | string.len(arg) 전달 된 문자열의 길이를 반환합니다. |
9 | string.rep(string, n)) 동일한 문자열을 n 번 반복하여 문자열을 반환합니다. |
10 | .. 따라서 연산자는 두 문자열을 연결합니다. |
이제 이러한 문자열 조작 함수가 어떻게 작동하는지 정확히 알아보기 위해 몇 가지 예를 살펴 보겠습니다.
케이스 조작
문자열을 대문자와 소문자로 조작하는 샘플 코드는 다음과 같습니다.
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)
위의 프로그램을 실행하면 다음과 같은 결과가 나옵니다.
Concatenated string LuaTutorial
Length of string1 is 3
LuaLuaLua