模式匹配中的lua变量

发布于 2024-11-23 15:05:16 字数 190 浏览 1 评论 0原文

我只是想知道是否可以在 Lua 中将变量放入模式匹配中。就像类似下面的内容:

var = "hello"
pattern = string.match(datasource, "(var)%s(a%+)")

我需要这样做的原因是因为变量“var”会定期更改。 (它将循环)

提前干杯

Im just wondering if it is possible to put a variable in a pattern match in Lua. Like something similar to the following:

var = "hello"
pattern = string.match(datasource, "(var)%s(a%+)")

The reason I need to do this is because the variable "var" will change periodically. (it will be in a loop)

Cheers in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

绮烟 2024-11-30 15:05:16

Lua 不处理引号内的字符串插值。相反,您需要将这些部分与 var 连接起来作为 var 引用,其余部分作为引号字符串。

"("..var..")%s(a%+)" 以“(”作为字符串文字开头,连接变量,然后用字符串文字。

Lua doesn't handle string interpolation inside of the quotes. Instead, you'll need to concatenate the parts with the var as a var reference and the rest as quote strings.

"("..var..")%s(a%+)" starts with a "(" as a string literal, concatenates the variable, then finishes off the rest of the string with a string literal.

再可℃爱ぅ一点好了 2024-11-30 15:05:16

请改用 "("..var..")%s(a%+)"

Use "("..var..")%s(a%+)" instead.

临风闻羌笛 2024-11-30 15:05:16

我需要同样的东西,我认为,模式匹配中的变量,但上述解决方案对我不起作用。我发布我的解决方案,以防它对某人有帮助,但在网上没有找到类似的东西。

我读取了一个以“:”分隔的文件(名称:电话),并希望按文件中的名称进行搜索,并将名称和电话号码作为答案。

local FileToSearch = h:read'*a' -- Read all the file
var = io.read() -- ask the name
string.gmatch(FileToSearch, ''..var..': '..'%d+') -- search for name, concatenate with number 

I needed the same thing I think, a variable in a pattern match, but the above solution didn't work for me. I'm posting my solution in case it helps someone, didn't find anything else on the net like it.

I read a ': ' delimited file (name: tel) and want to search by name in the file and have the name and telephone number as answer.

local FileToSearch = h:read'*a' -- Read all the file
var = io.read() -- ask the name
string.gmatch(FileToSearch, ''..var..': '..'%d+') -- search for name, concatenate with number 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文