lua字符串分割

原创 2016年11月11日 15:27:22

  最近在工作中遇到需要对字符串按某个字符分割处理,然后遇到了一下小问题,在这里介绍一下自己的处理方法和理解。

  具体问题就是:我希望将这样一个lua字符串”1.3.6.4.2.13”根据右下角的”.”将它分割之后将元素存入一个表中,如果是在C语言中,很方便地就能索引到每一个点以及元素,但是在lua中,你不能用下标的方式去访问一个字符串中的字符,也就是说 : 如果str = “1.3.6.4.2.13” , 那么str[1],str[2]这样的访问方式就是非法的,那么我需要知道下标为i的元素值应该怎么办呢?

  幸好lua提供了非常丰富的字符串库来支持这一操作,我采用的方法就是string.sub(str,start,end)

  string.sub(str,start,end)函数用法很简单,它接收三个参数,第一个就是要处理的字符串str,第二个即要返回的字符串的起始索引,第三个则是要返回的字符串的结束索引,拿上文中的字符串举例,string.sub(str,1,5)返回的就是”1.3.6”这个字符串,string.sub(str,1,6)则返回字符串”1.3.6.”,所以,想要返回一个字符的话,只要将后面两个参数设置为相同索引即可,只不过lua没有字符(char)类型,只有string类型。

  下面是我用来分割字符串的可执行代码

local str = "1.3.6.1.4.1.22.11.19.62.71"
local index = {}
local oid = {}
for k = 1,string.len(str) do
  if string.sub(str,k,k) == '.' then
    table.insert(index,k)
  end
end

table.insert(oid,string.sub(str,1,index[1]-1))
  for k=1,#index-1 do
    table.insert(oid,string.sub(str,index[k]+1,index[k+1]-1))
  end
table.insert(oid,string.sub(str,index[#index]+1,string.len(str)))
return oid
版权声明:本文为博主原创文章,未经博主允许不得转载。

Lua string split分割字符串

-- 分隔字符串 function string:split(sep) local sep, fields = sep or "\t", {} local pattern = stri...
  • henren555
  • henren555
  • 2015年01月27日 11:07
  • 6182

Lua中用Split函数分割字符串

function Split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSpl...
  • chencong112
  • chencong112
  • 2011年08月31日 15:18
  • 28506

Lua按指定字符分隔字符串的3种方法

1.function split( str,reps ) local resultStrList = {} string.gsub(str,'[^'..reps..']+',funct...
  • forestsenlin
  • forestsenlin
  • 2016年01月26日 23:45
  • 4799

Lua中分割字符串

function Split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 loca...
  • yinhe888675
  • yinhe888675
  • 2016年02月22日 17:43
  • 5751

lua用指定字符串切割另一个字符串

用到了lua的操作字符串方法 string.find, string.sub 具体请看代码 -- 用指定字符串切割另一个字符串 local function strSplit(delimeter,...
  • zhang197093
  • zhang197093
  • 2016年09月09日 12:58
  • 931

Lua笔记:Lua字符串分隔方法

--------------------------- Lua字符串分隔方法 ----------------------------------------- --字符串分隔方法 functio...
  • chinahaerbin
  • chinahaerbin
  • 2015年04月20日 11:58
  • 5530

Lua封装根据某种格式分割字符串

根据格式分割字符串存入Table并返回 function split(str, pat) local t = {} local last_end = 0 local s, e = string....
  • zhenyu5211314
  • zhenyu5211314
  • 2015年11月29日 17:45
  • 571

Lua 用指定字符或字符串分割输入字符串,返回包含分割结果的数组

用指定字符或字符串分割输入字符串,返回包含分割结果的数组
  • heyuchang666
  • heyuchang666
  • 2016年09月01日 20:21
  • 2819

lua字符串按分割符分割成数组

  • 2015年03月23日 15:16
  • 625B
  • 下载

lua字符串分割 string.split实现

lua实现string的split 函数源码
  • xie376450483
  • xie376450483
  • 2015年04月27日 20:28
  • 2414
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:lua字符串分割
举报原因:
原因补充:

(最多只允许输入30个字)