详细讲解lua中string.gsub的使用

请添加图片描述
string.gsub 是 Lua 标准库中的一个函数,用于全局替换字符串中的某些部分。string.gsub 是 Lua 中非常实用的一个函数,它可以用来进行字符串的处理和替换操作。

它的基本语法如下:

string.gsub(s, pattern, replacement [, n])

s 是要处理的原始字符串。

pattern 是用来匹配的模式。

replacement 是用来替换匹配模式的字符串或者一个函数。

n 是一个可选参数,用来限制替换的次数。

string.gsub 返回两个值:经过替换的字符串和发生替换的次数。

【--------------------------------------------------接下来讲用法--------------------------------------------------------】

下面是一些使用 string.gsub 的例子:

1:简单的字符串替换

local s = "hello world"
local s_new, n = string.gsub(s, "world", "Lua")
print(s_new)  -- 输出 "hello Lua"
print(n)     -- 输出 1

2:全局替换

local s = "hello world"
local s_new, n = string.gsub(s, "l", "L")
print(s_new)  -- 输出 "HeLlo WorLd"
print(n)     -- 输出 4

3:使用函数进行替换

local s = "hello world"
local function upper(m)return m:upper()
end
local s_new, n = string.gsub(s, "%a", upper)
print(s_new)  -- 输出 "HELLO WORLD"
print(n)     -- 输出 10

4:限制替换次数

local s = "hello world"
local s_new, n = string.gsub(s, "l", "L", 1)
print(s_new)  -- 输出 "heLlo world"
print(n)     -- 输出 1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3016320.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

HarmonyOS实战开发教程-如何开发一个2048游戏

今天为大家分享的是2048小游戏,先看效果图: 这个项目对于新手友友来说可能有一点难度,但是只要坚持看完一定会有收获。因为小编想分享的并不局限于ArkTs语言,而是编程思想。 这个游戏的基本逻辑是初始化一个4乘4的数组&#xff…

深度学习模型训练套路与验证套路以及如何使用GPU进行模型训练

完整的模型训练套路:代码模板 数据集以经典的 CIFAR10 为例。 这个例子是很简单的,可能不太实用,但重点是通过这个例子掌握一种模型训练的写法套路,因此很有必要学习。 import torch.optim import torchvision from torch impo…

JavaScript异步编程——02-Ajax入门和发送http请求

同步和异步回顾 同步和异步的简单理解 同步:必须等待前面的任务完成,才能继续后面的任务。 异步:不受当前任务的影响。 拿排队举例: 同步:在银行排队时,只有等到你了,才能够去处理业务。 异…

【C++泛型编程】(二)标准模板库 STL

文章目录 标准模板库 STL容器算法迭代器仿函数/函数对象适配器分配器示例 标准模板库 STL C 的标准模板库(Standard Template Library,STL)旨在通过模板化的设计,提供一种通用的编程模式,使程序员能方便地实现和扩展各…

数据仓库项目---Day01

文章目录 框架的安装包数据仓库概念项目需求及架构设计项目需求分析项目框架技术选型系统数据流程设计框架版本选型集群资源规划设计 数据生成模块数据埋点主流埋点方式埋点数据上报时机 服务器和JDK准备搭建三台Linux虚拟机(VMWare)编写集群分发脚本xsyncSSH无密登录配置JDK准…

实现同一份数据的各种镜像

一个数据集通过某个轴(通常是垂直或水平轴)的镜像对称。这可以通过简单的数学运算来实现。 如果想要通过一块数据生成四份,可以通过以下步骤: 下面是一个简单的示例,展示了如何通过垂直轴(左右对称&#…

找不到模块“vue-router”。你的意思是要将 moduleResolution 选项设置为 node,还是要将别名添加到 paths 选项中?

在tsconfig.app.json中添加,记得一定是 tsconfig.app.json 中,如添加到 tsconfig.node.json 还是会报错的 哈哈哈哈,不瞒你们,我就添加错了,哈哈哈。所以这也算写一个demo提醒自己 "compilerOptions": {&qu…

深入理解指针1

目录 如对您有帮助,还望三连支持,谢谢!!! 1.内存和地址 计算机中常⻅的单位(补充): 如何理解编址 2.指针变量和地址 2.1取地址操作符(&) 2.2指针变…

多个开源的js补环境框架测试

原文链接:https://mp.weixin.qq.com/s/uEMFGpE5bqmTvzSgX2twvA 前言 在做js逆向时肯定会遇到补环境的情况,看到github开源了好几个补环境用的框架,这篇文章做个测试,看看哪个比较好用。 https://github.com/pysunday/sdenvhttp…

Spring Boot3.x集成Disruptor4.0

Disruptor介绍 Disruptor是一个高性能内存队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。2011年&…

前端学习|第五章

HTML5&CSS3 新特性 前言HTML5 新特性一、语义化标签二、多媒体标签三、新增 input 类型四、新增表单属性 CSS3 新特性一、新增选择器二、盒子模型三、图片模糊处理四、calc 函数五、过渡 - transition六、2D 转换 - transform七、动画 - animation八、3D 转换 - translate3…

数据库被Elbie勒索病毒加密可以恢复吗?

一、Elbie勒索病毒简介 Elbie勒索病毒是一种严重的网络安全威胁,它通过加密用户文件并索要高额赎金来获取解密密钥。该病毒通常通过电子邮件附件、恶意网站、社交媒体平台以及利用用户网站服务器上的漏洞进行传播。一旦感染,用户的文件将被加密&#xff…

我独自升级崛起下载方法分享 下载教程

《我独自升级:崛起》这款精彩绝伦的动作角色扮演游戏,灵感来源于大热网络漫画,让玩家亲自踏上主角程肖宇的征途,从觉醒初阶到实力飞跃,每一步成长都扣人心弦。值得注意的是,尽管全球正式发布日期定在了五月…

RT-DETR-20240507周更说明|更新Inner-IoU、Focal-IoU、Focaler-IoU等数十种IoU计算方式

RT-DETR改进专栏|包含主干、模块、注意力、损失函数等改进 专栏介绍 本专栏包含模块、卷积、检测头、损失等深度学习前沿改进,目前已有改进点70!每周更新。 20240507更新说明: ⭐⭐ 更新CIoU、DIoU、MDPIoU、GIoU、EIoU、SIoU、ShapeIou、PowerfulIoU、…

分析错误ValueError: could not determine the shape of object type ‘Series‘

这个错误提示 ValueError: could not determine the shape of object type Series 通常发生在尝试将 pandas 的 Series 直接转换为 PyTorch 的 tensor 时,尤其是当 Series 的数据类型不明确或者包含非数值类型的数据时。为了修正这个问题,确保在转换之前…

酷得智能电子方案 早教学习机

早教学习机是用户友好的,易于操作,同时要确保内容的科学性和适宜性,以促进儿童的健康成长和智力发展。 通常包括以下几个方面: 1.年龄分级内容:软件会根据儿童的不同年龄段提供相应的教育内容,从新生儿到…

FastDFS-单机扩容

描述 周一上班收到用户反馈系统异常,紧急排查日志发现报错:FdfsServerException:错误:28,错误信息:没有足够的存储空间。 解决 根据异常信息判断是文件服务器可用内存不够了,首先登录文件服务器,使用df -h命令查看一…

AIGC-3D数字人技术:高效助推各行业数字化水平升级

从“互联网”到“人工智能”,数字员工作为一种全新的交互形式,对企业有着重要的作用,企业、品牌通过数字人的AI语音交互、AI播报等核心功能,可以有效推动企业提升数字水平。 作为3D、AI虚拟数字人技术服务商及方案提供商&#xff…

Cargo - 构建 rust项目、管理依赖包

文章目录 关于 Cargo构建项目创建工程编译运行buildclean 管理依赖添加依赖updatecheck计时 manual rust 安装可参考:https://blog.csdn.net/lovechris00/article/details/124808034 关于 Cargo Cargo 官方文档 : https://doc.rust-lang.org/cargo/crat…

我写了一套几乎无敌的参数校验组件!基于 SpEL 的参数校验组件「SpEL Validator」

前言 大家好,我是阿杆,不是阿轩。 参数校验这个东西,很多情况下都是比较简单的,用 NotNull、Size 等注解就可以解决绝大多数场景,但也有一些场景是这些基本注解解决不了的,只能用一些其他的方式处理&…