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