源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Lua字符串库中的几个重点函数介绍

  • 时间:2020-02-02 07:11 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Lua字符串库中的几个重点函数介绍
在《[url=http://www.1sucai.cn/article/55826.htm]Lua中的一些库[/url]》中也说到了,要对string库的模式匹配进行单独的讲解。对于字符串的处理,对于任何语言的学习来说,都是一个难点,而且也是一个必会的知识点。给你一个字符串,让你按照某种需求进行处理,你不会,那是多么尴尬的一件事情。所以,看完《[url=http://www.1sucai.cn/article/55826.htm]Lua中的一些库[/url]》和这篇文章之后,我争取做到让你在处理字符串时,不再感到捉襟见肘,不再尴尬。 说到Lua中的模式匹配,基本上就是围绕着以下几个函数展开的: 1.find; 2.match; 3.gsub; 4.gmatch。 我的总结也就是围绕着上面的四个函数展开的。请容我慢慢道来。 [b]简单实用的find[/b] string.find()函数用于在一个给定的目标字符串中搜索一个模式。最简单的模式就是一个单词,它只会匹配与自己完全相同的拷贝。当find找到一个模式后,它会返回两个值:匹配到的起始索引和结尾索引;如果没有找到任何匹配,它就返回nil。示例代码:
[url=http://www.1sucai.cn/article/55809.htm]这里[/url]。我现在就使用find来实现一个我们自己的gmatch,功能和gmatch是差不多的。代码如下:
[u]复制代码[/u] 代码如下:
local str = "Hello World"   -- 使用find来实现一个自己的gmatch local myGmatch = function (s, pattern)   local resultTb = {} -- 相当于迭代器中的恒定状态   local index = 0 -- 相当于迭代器中的控制变量     local i, j = string.find(s, pattern)   while i do     resultTb[#resultTb + 1] = string.sub(s, i, j)     i, j = string.find(s, pattern, j + 1)   end     return function () -- 返回一个迭代器函数     index = index + 1     return resultTb[index]   end end   for i in myGmatch(str, "%a+") do   print(i) end
[b]总结[/b] 这里就总结到这里了,这篇文章很详细的几个字符串库中我认为比较重要的函数。我想我已经总结的很详细了,写了那么多的示例代码,应该还好理解。就这样了。希望对大家有用。最后,我希望大家也和我一起分享,分享你的学习心得,分享你的IT人生,期待。。。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部