lua如何从字符串提取某一个字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lua如何从字符串提取某一个字符相关的知识,希望对你有一定的参考价值。
假设
s="abcdefghij"
想要提取第5个字符'e'要用什么函数?
刚开始我想的是string.sub(s,5,5)
但是提取出来的是字符串"e"而不是'e'字符
请问要如何处理
打个比方
在VC里CString str="abcdefg"
获取第5个用的就是str.GetAt(4)
换到LUA里呢?
------------------
1楼我什么地方说不清楚
字符串s="abcdefghij"有什么不对
lua里不像c一样区分字符串和字符。
比如:
b = a:match("gig.-gvt") --提取包含头尾的字符串
print(b:sub(4, string.len(b)-3)) --去除头尾
总的来说通过string.match或者string.sub来提取字符串,结合patterns(弱化版的正则表达式)进行通配;具体得视源字符串的数据特征而定。
function string.split(input, delimiter)
input = tostring(input)
delimiter = tostring(delimiter)
if (delimiter=='') then return false end
local pos,arr = 0,
-- for each divider found
for st,sp in function() return string.find(input, delimiter, pos, true) end do
table.insert(arr, string.sub(input, pos, st - 1))
pos = sp + 1
end
table.insert(arr, string.sub(input, pos))
return arr
end
扩展资料:
Lua还具有其它一些特性:同时支持面向过程(procedure-oriented)编程和函数式编程(functional programming);自动内存管理;只提供了一种通用类型的表(table),用它可以实现数组,哈希表,集合,对象;语言内置模式匹配;
闭包(closure);函数也可以看做一个值;提供多线程(协同进程,并非操作系统所支持的线程)支持;通过闭包和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。
参考资料来源:百度百科-lua
参考技术A 这样的问题最好到csdn论坛去。你的问题说得也糊涂,没看懂。字符串都是"..."这种形式的。 参考技术B 你还是应该先看一下lua的语法。lua里不像c一样区分字符串和字符。
对于一个字符串,无论是用单引号还是双引号包围起来效果是一样的。
举个例子吧:
> s = 'e'
> t = "e"
> if s == t then print("equal") end
equal
> print('e is good')
e is good
要是非得想要c风格的话,也可以试试string.byte()这个函数。
> s = 'abcdefghij'
> = string.byte(s, 5)
101本回答被提问者采纳
jQuery如何从字符串中提取某一数字
var trans = $("#view").css("transform");//输出的trans为matrix(1, 0, 0, 1, 0, -58)
var str=String(trans);
var t = str.match(/\d+/g)[5];
想把transfrom的第6个值赋给t;
先问一下输出的trans是什么数据类型?能按上边的方法转换字符串吗?
然后求帮我解决这个问题,我的目的是要得出#view的css中transfrom属性里matrix(1, 0, 0, 1, 0, -58)的第六个数(也就是-58),并将这个数赋给t,之后我要用t进行其他指令。
加入var t = str.match(/\d+/g)[5];后会显示cannot read property '5' of null;
或者直接告诉我提取到t=-58的其他方法,急求,谢谢!
t=temp[5];追问
又是Cannot read property 'split' of undefined
追答var temp=trans.tostring().split('(')[1].split(')')[0].split(',');
t=temp[5];
t=temp[5];
以上是关于lua如何从字符串提取某一个字符的主要内容,如果未能解决你的问题,请参考以下文章
Lua语言(stm32+2G/4G模块)和C语言(stm32+esp8266)从字符串中提取相关数据的方法-整理
Lua语言(stm32+2G/4G模块)和C语言(stm32+esp8266)从字符串中提取相关数据的方法-整理