More actions
dustloop>Alistair3149 Escape regex pattern |
dustloop>Alistair3149 No edit summary |
||
| Line 6: | Line 6: | ||
--- @return string | --- @return string | ||
local function escapePattern(s) | local function escapePattern(s) | ||
return s:gsub(" | return s:gsub("%W", "%%%1") | ||
end | end | ||
Revision as of 07:33, 23 May 2024
Documentation for this module may be created at Module:SplitStringToTable/doc
local p = {} --p stands for package
--- Escape pattern for regex
--- @param s string string to escape
--- @return string
local function escapePattern(s)
return s:gsub("%W", "%%%1")
end
--- Split string by delimiter and return the table of string parts
---
--- @param str string String to split
--- @param delimiter string Delimiter used to split the string, default to %s
--- @return table
function p.splitStringIntoTable( str, delimiter )
if delimiter == nil then
delimiter = "%s"
end
local t = {}
local pattern = '[^' .. escapePattern( delimiter ) .. ']+'
for s in string.gmatch( str, pattern ) do
table.insert( t, s )
end
return t
end
return p