В Lua разделение строки на две подстроки на основе пробельного разделителя может быть достигнуто различными методами. В этой статье рассматриваются несколько подходов к эффективному разделению строк на две подстроки с использованием примеров кода Lua. К концу этой статьи вы получите полное представление о различных методах разделения строк в Lua.
Метод 1: использование функции string.gmatch
local str = "Hello World"
local first, second = str:match("([^%s]+)%s+(.*)")
print(first) -- Output: Hello
print(second) -- Output: World
Метод 2: использование функции string.find
local str = "Hello World"
local spaceIndex = str:find(" ")
local first = str:sub(1, spaceIndex - 1)
local second = str:sub(spaceIndex + 1)
print(first) -- Output: Hello
print(second) -- Output: World
Метод 3: использование функции string.match с шаблоном
local str = "Hello World"
local first, second = str:match("(%S+)%s+(%S+)")
print(first) -- Output: Hello
print(second) -- Output: World
Метод 4. Использование функции string.gsplit (требуется сторонняя библиотека Penlight)
local pl = require("pl.import_into")()
local str = "Hello World"
local parts = pl.stringx.gsplit(str, " ")
local first = parts()
local second = parts()
print(first) -- Output: Hello
print(second) -- Output: World
Метод 5: использование цикла и string.sub
local str = "Hello World"
local spaceIndex
for i = 1, #str do
if str:sub(i, i) == " " then
spaceIndex = i
break
end
end
local first = str:sub(1, spaceIndex - 1)
local second = str:sub(spaceIndex + 1)
print(first) -- Output: Hello
print(second) -- Output: World
Разделение строк на две подстроки по пробелу в Lua можно выполнить разными методами. В этой статье были рассмотрены пять методов: использование string.gmatch, string.find, string.match, string.gsplit и цикла с string.sub. Выбор метода зависит от ваших конкретных требований и наличия сторонних библиотек. Используя эти методы, вы можете эффективно разбивать строки в своих программах Lua.