在lua中找到两个子字符串之间的顺序

如果我有以下字符串

local test = "randomrandomrandomrandomONErandomrandomrandomrandomTWOrandomrandom"

我如何能够确定文本"ONE"或"TWO"在字符串中哪个先出现

点赞
用户10953006
用户10953006

你可以使用函数 find,它返回 2 个值:

  • 第一个单词开始的位置
  • 第一个单词结束的位置
test = "randomrandomrandomrandomONErandomrandomrandomrandomTWOrandomrandom"

if test:find("ONE") < test:find("TWO") then
  print("ONE is before TWO")
else
  print("TWO is before ONE")
end

应该显示:

ONE is before TWO

关于函数 find

> test = "randomrandomrandomrandomONErandomrandomrandomrandomTWOrandomrandom"
> Start, End = test:find("ONE")
25      27

在这个特定的例子中,Start 将获得值 25End 将获得值 27

2021-03-25 05:51:55