一、lua语言基础1、metatable2、pairs、ipairs、table.sort3、table的内存(数组结构和哈希结构)4、字符串缓存(字符串常量是共享的。这个5.3版本有调整,40字节一下的短字符串才是共享的,长字符串还是保持独立内存)。所以配置文件中存在大量重复的字符串并不是很耗内存。 反而是配置中存在大量的数字或者是嵌套的table的时候,非常耗内存。5、lua本身的协程不支持
转载
2024-04-13 09:40:11
258阅读
# 从字节集到字符串的转换流程
## 步骤
| 步骤 | 描述 |
| ---- | ------------- |
| 1 | 获取字节集 |
| 2 | 将字节集解码为字符串 |
## 代码实现
### 步骤一:获取字节集
```python
# 创建一个字节集
byte_data = b'\xe4\xbd\xa0\xe5\xa5\xbd'
```
原创
2024-05-01 04:01:51
28阅读
lua的string库是用来处理字符串的,基础函数如下
string.byte(s [, i [, j]])
string.byte是用来把字符转换成ascii数字,s为目标字符串,i为索引开始位置(从1开始),j为索引结束位置
string.char(...)string.char是把ascii数值转换成字符
例子
--默认为第1个返回a的ascii值
local r = string.
1、数据类型-- 直接输出
print("hello") -- 全局变量
b = 11
print(b)
-- nil(空)
print(type(a))
-- 对于全局变量和table,nil 还有清空的作用 -- number(数字)
-- Lua 默认只有一种number类型 -- double(双精度) -- string(字符串)
-- 字符串由一对双引号或单引号来表示
C语言中没有特定的字符串类型,我们通常是将字符串放在一个字符数组中。如下代码:#include <stdio.h>
#include <string.h>
int main(){
char str[] = "http://c.biancheng.net";
int len = strlen(str), i;
//直接输出字符串
printf
转载
2024-05-08 20:29:31
61阅读
string.byte(s,[i],[j])返回字符 s[i], s[i+1], …, s[j] 的内部数字代码。 i 的默认值为 1; j 的默认值为 i。 请注意,数字代码不一定可以跨平台移植。 string.char(…)接收零个或多个整数。 返回一个长度等于参数个数的字符串,其中每个字符的内部数字代码等于其对应的参数。 请注意,数字代码不一定可以跨平台移植。 string.dump(fun
转载
2024-02-18 20:17:42
178阅读
Q:模式匹配字符串的相关函数?A:--[[ string.find(s, pattern [, init [, plain]])
在字符串"s"中查找第一个与匹配模式"pattern"相匹配的子串,
函数返回子串的開始位置和终止位置。假设未找到返回"nil"。
假设在"pattern"中定义了捕获,捕获物也会在之后依次返回。"init"可指定从字符串"s"的什么位置開
转载
2024-03-22 12:10:16
83阅读
问题描述:输入两个字符串str1和p,将str1中的某个字符替换为字符串p。分析:这个问题其实就是编程语言里的字符替换库函数,我们需要自己去实现,需要找出一种高效的办法,对于这道题存在两种解法。 解法一:从头开始扫描字符串str1,每次遇到空格后,插入字符串P,再插入字符串P之前,需要先将空格后面的字符往后挪位,然后在将P插入即可。
string库提供了字符串处理的通用函数。 例如字符串查找、子串、模式匹配等。 当在 Lua 中对字符串做索引时,第一个字符从 1 开始计算(而不是 C 里的 0 )。 索引可以是负数,它指从字符串末尾反向解析。 即,最后一个字符在 -1 位置处,等等。 字符串库中的所有函数都在表string 中。 它还将其设置为字符串元表的__index 域。 因此,你可以以面向对象的形式使用字符串函数。 例
转载
2024-03-04 12:48:23
256阅读
function FGUtilStringSplit(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...
转载
2013-02-17 09:58:00
457阅读
函数原型 string.find(s, pattern [, init [, plain]] )
s: 源字符串
pattern: 待搜索模式串
init: 可选, 起始位置
plain: 我没用过① 子串匹配:print(string.find("haha", 'ah') ) ----- 输出 2 3注意: lua 里面数组或者字符串的字符, 其下标索引是从 1 开始, 不是 0
string.
转载
2024-06-08 18:03:09
162阅读
1. 基础字符串函数:
字符串库中有一些函数非常简单,如:
1). string.len(s) 返回字符串s的长度;
2). string.rep(s,n) 返回字符串s重复n次的结果;
&n
转载
2024-05-14 08:52:43
106阅读
Lua的字符串匹配与正则表达式使用lua一段时间了,简单总结下string库中的几个与正则相关的函数。这些函数是find,match, gmatch和gsub。然后是lua中支持的正则。文中的例子在lua5.3的命令行中试验过。5.1版的需要在提示符前加一个=号或加return空格。string.find(s, pattern[, init[, plain]])在字符串s中匹配pattern,如果
转载
2024-02-22 13:34:55
130阅读
Lua库函数字符串处理,及正则方面的函数
字符类基础函数举例介绍:string.len( ‘string’ )
string.lower( ‘string’ )
string.upper( ‘string’ )
string.rep( ‘a’ , 5 ) ==> aaaaa
string.sub( ‘string’ , I ,
转载
2024-02-08 14:40:49
226阅读
.模式匹配函数在string库中功能最强大的函数是:string.find(字符串查找)string.gsub(全局字符串替换)string.gfind(全局字符串查找)string.gmatch(返回查找到字符串的迭代器)这些函数都是基于模式匹配的。与其他脚本语言不同的是,Lua并不使用POSIX规范的正则表达式[4](也写作regexp)来进行模式匹配。主要的原因出于程序大小方面的考虑:实现一
转载
2024-02-11 15:11:51
92阅读
说到Lua中的字符串处理函数,最常用的最重要的莫过于以下4种:1.find;2.match;3.gsub;4.gmatch下边我们一个个详细讲解: 简单实用的find string.find()函数用于在一个给定的目标字符串中搜索一个模式。最简单的模式就是一个单词,
转载
2024-06-16 16:43:27
115阅读
基本函数函数描述示例结果len计算字符串长度string.len(“abcd”)4rep返回字符串s的n个拷贝string.rep(“abcd”,2)abcdabcdlower返回字符串全部字母大写string.lower(“AbcD”)abcdupper返回字符串全部字母小写string.upper(“AbcD”)ABCDformat返回一个类似printf的格式化字符串string.forma
转载
2024-02-29 09:41:01
95阅读
首先书接上一遍,上一遍说到我们可以在c中获取Lua传递过来的Table,然后通过栈的操作,获取table中的字符或者number. 一切都那么的完美,所以我就把这段代码直接用于我们的工程中,构建,出包,安装,点击按钮, 一切都很顺利了吗?然后,并没有! 我发现,我在Lua中获取的table元素中的字符串全部消失
转载
2024-03-19 09:02:59
159阅读
lua c结构体转table本周有个任务,是将json数据和C结构体数据进行互相转换,初一看很简单,有两个方案去做。但是都是很麻烦,要么做起来简单,要么工作量大,要么工作量少,难度极高,最后找到一个折中的办法,就是通过修改源码来提供捷径。问题描述:公司的游戏服务器是由c++实现的,而客户端是android或者ios上实现的,这时的数据交互就是打包二进制数据流进行
但是呢,现在公司要做个web端的
转载
2024-03-23 10:17:33
113阅读
用过Lua的,应该知道lua有一个截取字符串的接口,string.sub(s,i,j),就是截取字符串s,从第i个字符到第j个字符的字串,这里的一个字符是一个字节,对于英文字母还是阿拉伯数学,不管是utf8编码,还是ansi(GBK)编码,都是一样的,而且对于汉字,前者占3个字节,后者占2个字节,当然还有4个字节的汉字,那如何从一个字符串比如"bg%好-+03打@/f"中准确截取出我们需要的汉字呢
转载
2024-03-11 14:27:47
55阅读