拆分字符串并在Lua中包含分隔符

时间:2016-03-01 22:10:54

标签: string split lua

我在Google和Stack Overflow上搜索过,但没有找到这个问题的答案。查看文档我没有找到如何执行此操作,因为每个允许拆分的函数都会排除分隔符。

修改

for i, word in pairs(split(text, "<(.-)>")) do
    print(word)
end

function split(string, delimiter) -- Got this function from https://helloacm.com/split-a-string-in-lua/
    result = {};

    for match in (string..delimiter):gmatch("(.-)"..delimiter) do
        table.insert(result, match);
    end

    return result;
end

此代码替换格式为&#34;&lt;(.-)&gt;&#34;

的部分

示例:

Input: "Hello<a>World</a>!"

Expected Output: {"Hello", "<a>", "World", "</a>", "!"}

Real Output: {"Hello", "World", "!"}

2 个答案:

答案 0 :(得分:3)

s = "Hello<a>World</a>!"
for a in s:gsub('%b<>','\0%0\0'):gmatch'%Z+' do
  print(a)
end

答案 1 :(得分:1)

我认为这与HTML标签或类似标签有关。

我能想到的一个快速肮脏的可能性应该涵盖您的特定用例:

scan.hasNextInt()