lua中string.find()方法使用时得不到正确的结果

chsunnyboy 2014-09-26 02:33:13
a,b=string.find("GL31-LWG-LJG-1-BQG-DWG","-1-BQG");
print(a,b);
运行后结果为: 15 18
为什么不是:13 18呢

还有就是:
a,b=string.find("GL31-LWG-LJG-4-BQG-DWG","-4-");
print(a,b);
这段代码运行后结果为: 5 5
为什么不是: 13 15 呢

难道lua中 string.find()方法使用时 — 和 数字 和 字母不一样吗?
哪位高手给解释一下
...全文
1072 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pathletboy 2014-09-27
  • 打赏
  • 举报
回复
引用 2 楼 chsunnyboy 的回复:
为什么string.find("GL31-LWG-LJG-1-BQG-DWG","-1");不会出错呢?
为什么要出错?你都是合法的字串。
chsunnyboy 2014-09-27
  • 打赏
  • 举报
回复
为什么string.find("GL31-LWG-LJG-1-BQG-DWG","-1");不会出错呢?
pathletboy 2014-09-26
  • 打赏
  • 举报
回复
string.find中匹配字符串是有特殊语法的,不是简单的字串查找。 -: 匹配前面指定的 0 或多个同类字符, 尽可能匹配更短的符合条件的字串 具体可以看文档手册。 比如你第一个例子应该这么修改才是你所期望的
a,b=string.find("GL31-LWG-LJG-1-BQG-DWG","%-1%-BQG");
print(a,b);

828

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧