lua劈分字符串方法及实例
由于工作项目需要,最近需要用lua来写一些脚本。然而lua并不想java那样有很多的好用的api,很多方法得我们自己来编写和封装,就比如今天碰到的劈分字符串,查找资料后只能自己写了一个。
代码如下
-- 参数:待分割的字符串,分割字符
-- 返回:子串表.(含有空串)
function string_split(str, split_char)
local sub_str_tab = {};
while (true) do
local pos = string.find(str, split_char);
if (not pos) then
sub_str_tab[#sub_str_tab + 1] = str;
break;
end
local sub_str = string.sub(str, 1, pos - 1);
sub_str_tab[#sub_str_tab + 1] = sub_str;
str = string.sub(str, pos + 1, #str);
end return sub_str_tab;
end
项目中需要对一条短信读取并拿到里面的验证码,实例Demo如下:
local str = "你有新的消息,【验证码】为:123456,本验证码30分钟内有效,编号:90" local str_Arr = string_split(str, ",")
print(#str_Arr)
for i = 1, #str_Arr do
print(str_Arr[i])
end local str_lenght = #str_Arr[2]
local code = string.sub(str_Arr[2], str_lenght-5, str_lenght) print("验证码:"..code)
输入内容如下

这个劈分字符串的方法对中文标点符号不太友好,后边还是配合lua已有的截取字符串方法tring.sub()来取得验证码的。特此记录。
大神如果有更好的方法,可以留言,谢谢。
lua劈分字符串方法及实例的更多相关文章
- Oracle 超长字符串分割劈分
Oracle 超长字符串分割劈分,具体能有多长没测过,反正很大.... 下面,,,,直奔主题了: CREATE OR REPLACE FUNCTION splitstr(p_string IN clo ...
- jQuery中on()方法用法实例
这篇文章主要介绍了jQuery中on()方法用法,实例分析了on()方法的功能.定义及在匹配元素上绑定一个或者多个事件处理函数的使用技巧,需要的朋友可以参考下 本文实例讲述了jQuery中on()方法 ...
- MATLAB的PLOT函数线型设置及横坐标为字符串的代码实例
2.横坐标为字符串的代码实例 cell={‘PLS’,’SVM’,’RF’,’NNET’,’NB’,’PLR’,’C5.0′,’PDA’,’KNN’,’GLM’,’BCT’};%分类方法yData=[ ...
- Python 字符串方法详解
Python 字符串方法详解 本文最初发表于赖勇浩(恋花蝶)的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请保留全文完整,切勿去除本声明和作者信息. ...
- 千万别把js的正则表达式方法和字符串方法搞混淆了
我们在字符串操作过程中肯定经常用了test() split() replace() match() indexof()等方法,很多人经常把用法写错了,包括我,所以今天细细的整理了下. test()是判 ...
- jQuery中on()方法用法实例详解
这篇文章主要介绍了jQuery中on()方法用法,实例分析了on()方法的功能及各种常见的使用技巧,并对比分析了与bind(),live(),delegate()等方法的区别,需要的朋友可以参考下 本 ...
- JS字符串方法总结整理
//javascript字符串方法总结 1.String.charAt(n) //取得字符串中的第n个字符 2.String.charCodeAt(n) //取得字符串中第n个字符 ...
- C#操作字符串方法总结
/* ######### ############ ############# ## ########### ### ###### ##### ### ####### #### ### ####### ...
- lua——元表、元方法、继承
[元表] 元表中的键为事件(event),称值为元方法(metamethod). 通过函数getmetatable查询不论什么值的元表,通过函数setmetatable替换表的元表. setmetat ...
随机推荐
- mysql查杀会话
root登陆mysql,查看会话(show processlist\G;): mysql> kill
- JS拖拽事件
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- yii2GridView的简单使用
GridView::widget([ 'dataProvider' => $dataProvider,// 你传过来的ActiveDataProvider // 'filterModel' =& ...
- Django - Ajax - 参数
一.Jquery实现Ajax url type data success error complete statusCode {% load staticfiles %} < ...
- 2014年百度之星程序设计大赛 - 资格赛 1001 Energy Conversion
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/sr19930829/article/details/26003661 Energy Conversi ...
- 005-java的Annotation
一.概述 Annotation,JDK1.5开始提供 二.基本定义 public @interface HelloWorld { } 1.使用@Interface定义,名称大写 2.使用@Target ...
- js-template-art【二】语法
参看地址 一.模板语法 1.变量使用与输出 <% if (user) { %> <h2><%= user.name %></h2> <% } %& ...
- PAT 1138 Postorder Traversal [比较]
1138 Postorder Traversal (25 分) Suppose that all the keys in a binary tree are distinct positive int ...
- java基础知识 构造方法
在java里面,构造方法也就是构造函数 构造函数=构造方法;构造方法是一种特殊的方法,具有以下特点.(1)构造方法的方法名必须与类名相同.(2)构造方法没有返回类型,也不能定义为void,在方法名前面 ...
- make clean 与 make distclean 的区别
make clean仅仅是清除之前编译的可执行文件及配置文件. 而make distclean要清除所有生成的文件. Makefile 在符合GNU Makefiel惯例的Makefile中,包含了一 ...