Lua中如何通过string.gmatch()函数实现字符串?

2026-06-05 11:088阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计448个文字,预计阅读时间需要2分钟。

Lua中如何通过string.gmatch()函数实现字符串?

这里有一些讨论和实用函数,用于分割字符串,但你需要一个特别的单行程序来完成一个非简单的任务。你有以下字符串:

plaintextlocal s=one;two;;four

你想要将其分割为以分号(`;`)为分隔符的子字符串。你希望最终得到:

plaintext{one, two, , four}

这里有一些讨论和实用函数,用于分割字符串,但是我需要一个特殊的单行程来完成一个非常简单的任务.

我有以下字符串:

local s = "one;two;;four"

我想把它拆分为“;”.我想最终得到{“one”,“two”,“”,“four”}作为回报.

所以我试着这样做:

Lua中如何通过string.gmatch()函数实现字符串?

local s = "one;two;;four" local words = {} for w in s:gmatch("([^;]*)") do table.insert(words, w) end

但结果(单词表)是{“one”,“”,“two”,“”,“”,“four”,“”}.那肯定不是我想要的.

现在,正如我所说,这里有一些关于分裂字符串的讨论,但它们中有“冗长”的功能,我需要一些简洁的东西.我需要这个代码用于一个程序,在那里我展示了Lua的优点,如果我添加一个冗长的函数来做一些如此微不足道的事情,它将违背我.

local s = "one;two;;four" local words = {} for w in (s .. ";"):gmatch("([^;]*);") do table.insert(words, w) end

通过添加一个额外的;在字符串的末尾,字符串现在变为“one; two ;; four;”,您要捕获的所有内容都可以使用模式“([^;] *);”匹配:没有;接着是;(贪心).

测试:

for n, w in ipairs(words) do print(n .. ": " .. w) end

输出:

1: one 2: two 3: 4: four

本文共计448个文字,预计阅读时间需要2分钟。

Lua中如何通过string.gmatch()函数实现字符串?

这里有一些讨论和实用函数,用于分割字符串,但你需要一个特别的单行程序来完成一个非简单的任务。你有以下字符串:

plaintextlocal s=one;two;;four

你想要将其分割为以分号(`;`)为分隔符的子字符串。你希望最终得到:

plaintext{one, two, , four}

这里有一些讨论和实用函数,用于分割字符串,但是我需要一个特殊的单行程来完成一个非常简单的任务.

我有以下字符串:

local s = "one;two;;four"

我想把它拆分为“;”.我想最终得到{“one”,“two”,“”,“four”}作为回报.

所以我试着这样做:

Lua中如何通过string.gmatch()函数实现字符串?

local s = "one;two;;four" local words = {} for w in s:gmatch("([^;]*)") do table.insert(words, w) end

但结果(单词表)是{“one”,“”,“two”,“”,“”,“four”,“”}.那肯定不是我想要的.

现在,正如我所说,这里有一些关于分裂字符串的讨论,但它们中有“冗长”的功能,我需要一些简洁的东西.我需要这个代码用于一个程序,在那里我展示了Lua的优点,如果我添加一个冗长的函数来做一些如此微不足道的事情,它将违背我.

local s = "one;two;;four" local words = {} for w in (s .. ";"):gmatch("([^;]*);") do table.insert(words, w) end

通过添加一个额外的;在字符串的末尾,字符串现在变为“one; two ;; four;”,您要捕获的所有内容都可以使用模式“([^;] *);”匹配:没有;接着是;(贪心).

测试:

for n, w in ipairs(words) do print(n .. ": " .. w) end

输出:

1: one 2: two 3: 4: four