我试图了解如何使用此格式分割lua中的字符串
hello - mynameis - jeff
我只是想得到这个名字" jeff"。分隔符为-
和。
这是我实际尝试过的:
local result = string.gmatch(line, "[-\s]+")
哪个不起作用。我该怎么做?
答案 0 :(得分:0)
其中一个解决方法是将所有“ - ”替换为您所拥有的内容中未使用的字符,然后使用带有$
结尾的简单否定字符类获取最后一部分字符串锚:
local example = "hello - mynameis - jeff"
example = string.gsub(example, " %- ", "\x02")
local result = string.match(example, "[^\x02]+$")
print(result)
使用" %- "
,所有 space
+ -
+ space
子字符串都会替换为临时字符,然后只有子字符串才能替换最后一个临时字符与[^\x02]+$
模式匹配。
我使用了STX
控制字符(\x02
),但您可以选择另一个您确定要在解析的内容中丢失的字符。