使用双分隔符拆分字符串
Splitting a string with a double delimiter
我正在尝试了解如何使用这种格式拆分 lua 中的字符串
hello - mynameis - jeff
我只是想得到名字"jeff"。分隔符将是 -
和 </code>。
这是我实际尝试过的:</p>
<pre><code>local result = string.gmatch(line, "[-\s]+")
这是行不通的。我该怎么做?
其中一个解决方法是用您拥有的内容中未使用的字符替换所有“-”,然后使用简单的取反字符 class 和 $
字符串结尾锚点:
local example = "hello - mynameis - jeff"
example = string.gsub(example, " %- ", "\x02")
local result = string.match(example, "[^\x02]+$")
print(result)
和" %- "
,所有space
+ -
+ space
子串都替换为临时字符,然后只有最后一个临时字符之后的子字符串与 [^\x02]+$
模式匹配。
我使用了 STX
控制字符 (\x02
),但您可以选择另一个您确定在要解析的内容中会丢失的字符。
我正在尝试了解如何使用这种格式拆分 lua 中的字符串
hello - mynameis - jeff
我只是想得到名字"jeff"。分隔符将是 -
和 </code>。
这是我实际尝试过的:</p>
<pre><code>local result = string.gmatch(line, "[-\s]+")
这是行不通的。我该怎么做?
其中一个解决方法是用您拥有的内容中未使用的字符替换所有“-”,然后使用简单的取反字符 class 和 $
字符串结尾锚点:
local example = "hello - mynameis - jeff"
example = string.gsub(example, " %- ", "\x02")
local result = string.match(example, "[^\x02]+$")
print(result)
和" %- "
,所有space
+ -
+ space
子串都替换为临时字符,然后只有最后一个临时字符之后的子字符串与 [^\x02]+$
模式匹配。
我使用了 STX
控制字符 (\x02
),但您可以选择另一个您确定在要解析的内容中会丢失的字符。