67得票4回答
Lua模式匹配 vs. 正则表达式

我正在学习lua。关于在lua中进行模式匹配,我在lua.org的lua文档中找到了以下句子: 然而,在Lua中进行模式匹配是一个强大的工具,包含一些标准POSIX实现难以匹配的功能。 既然我熟悉posix正则表达式,我想知道是否有任何常见示例,lua模式匹配相对于正则表达式更好 ...

60得票1回答
Lua字符串替换

我该怎么做? 我有这个: name = "^aH^ai" string.gsub(name, "^a", "") 它应该返回"Hi",但它将插入符号(^)字符作为模式字符处理 如何解决?(必须用gsub实现)

23得票3回答
Lua中最简洁的将路径名拆分为组件的方法是什么?

我有一个包含路径的标准Windows文件名,需要从字符串中提取出文件名、扩展名和路径。 目前我只是从末尾开始读取字符串,查找“.”来截取扩展名,查找第一个“\”来获取路径。 我相信我应该能够使用Lua模式来做到这一点,但是当涉及从字符串右侧开始工作时,我总是失败。 例如: c:\ tem...

18得票3回答
Lua模式中的逻辑“或”?

在Lua中是否有可能实现?local noSlashEnding = string.gsub("slash\\ending\\string\\", "\\|/$", "") -- noSlashEnding should contain "slash\\ending\\string" loc...

13得票2回答
Lua匹配字符串中字符后的所有内容

我对Lua和模式匹配都不熟悉。我想弄清楚如何在冒号后匹配字符串中的所有内容,并将该部分字符串放入另一个变量中。我在网上找了很久都没有太大的收获,或者可能是我没有看到。那么我应该如何做呢? 例如,假设我有一个名为 my_string 的变量,它等于"hello:hi_there"或类似的字符串...

13得票3回答
在Lua中使用string.gmatch()函数拆分字符串

这里有一些关于拆分字符串的讨论和实用函数,但我需要一个特定的一行代码来完成非常简单的任务。我有以下字符串:local s = "one;two;;four" 我希望将其在";"上进行分割。最终,我希望获得{ "one", "two", "", "four" }。 于是我尝试这样做:local...

13得票4回答
在Lua中将每个单词的首字母大写

我可以使用以下方式将字符串的第一个字母大写:str.capitalize()str:gsub("^%l", string.upper) 我该如何修改它以使字符串中的每个单词的首字母大写?

12得票3回答
使用string.find()方法查找'.'

我正在尝试进行简单的字符串操作:获取文件名,不包括扩展名。 但是,string.find() 函数似乎无法识别句点: s = 'crate.png' i, j = string.find(s, '.') print(i, j) --> 1 1 仅使用点: s = 'crate.p...

11得票3回答
Lua标点符号模式(%p)包括哪些字符?

我找不到有关Lua中符号集合"%p"由哪些字符组成的文档。

10得票2回答
可选组捕获与Lua模式匹配

我将尝试使用简单的模式匹配在Lua中解析化学式,但是我不知道如何指定一个可选的捕获组。这是我想出的模式: pattern = "(%u%l*)(%d*)" 第一组捕获原子符号(即“H”,“He”等),第二组捕获分子中该原子的数量。这个值通常是整数,但如果它是1,则通常被省略,例如: f...