Lua - 字符串连接



字符串连接是将两个或多个字符串组合在一起的过程,在大多数编程语言中,这可以通过使用赋值运算符来实现。

在 Lua 中,赋值运算符不能用于字符串连接。

示例

考虑以下示例:

main.lua

str1 = "tutorials"
str2 = "point"
-- will throw an error
s = str1 + str2
print(s)

输出

lua: main.lua:4: attempt to perform arithmetic on global 'str1' (a string value)
stack traceback:
	main.lua:4: in main chunk
	[C]: ?

因此,最直接的方法是使用连接关键字,用 .. **(两个点)** 表示。

让我们考虑几个 Lua 中连接关键字的示例。

示例

考虑以下示例:

main.lua

str1 = "tutorials"
str2 = "point"
s = str1..str2
print(s)

输出

tutorialspoint

示例

考虑以下示例:

main.lua

message = "Hello, " .. "world!"
print(message)

输出

Hello, world!

需要注意的是,Lua 不允许增强连接。

示例

考虑以下示例:

main.lua

str1 = "tutorials"
str2 = "point"
str1 ..= str2
print(str1)

输出

lua: main.lua:3: '=' expected near '..'

还需要注意的是,每当我们使用连接运算符时,内部都会创建一个新的字符串,并在该字符串上进行连接,当我们想要将多个字符串连接到一个字符串中时,这种方法存在性能问题。

另一种方法是使用 table.concat 函数。

示例

考虑以下示例:

main.lua

numbers = {}
for i=1,10 do
numbers[i] = i
end
message = table.concat(numbers)
print(message)

输出

12345678910
广告