详细讲解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://www.hqwc.cn/news/675445.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Angular中的管道(Pipe)

Angular中的管道(Pipe) 文章目录 Angular中的管道(Pipe)前言一、内置管道1. date管道格式化日期2. currency管道格式化货币3. uppercase和lowercase管道转换字符串大小写4. 小数位数5. JavaScript 对象序列化6. slice7. 管道链 二、自定义管道 前言 Angular中的管道&#xff0…

学习软考----数据库系统工程师22

关系运算 基本的关系代数运算 拓展的关系运算 除:需要S连接中属性为C和D的两个元组都与R连接一样,且在R连接中对应的另外的元素完全一致 总结

DB-GPT: Empowering Database Interactions with Private Large Language Models 导读

本文介绍了一种名为DB-GPT的新技术,它将大型语言模型(LLM)与传统数据库系统相结合,提高了用户使用数据库的体验和便利性。DB-GPT可以理解自然语言查询、提供上下文感知的回答,并生成高准确度的复杂SQL查询,…

【UE】利用物理学放置模型(以堆积石块为例)

目录 效果 步骤 一、准备工作 二、设置石块碰撞 三、绘制石块 效果 步骤 一、准备工作 1. 在虚幻商城中安装“Physical Layout Tool”插件 2. 在虚幻编辑器中勾选插件“Physical Layout”插件 3. 在Quixel Bridge中将我们所需要的石块资产添加到项目中 这里我们导入…

MahApps.Metro的MVVM模式介绍(一)

MahApps.Metro是一个开源的WPF (Windows Presentation Foundation) UI 控件库。它的特点有现代化设计、主题定制、响应式布局、内置控件。 而Mvvm模式的核心思想是将用户界面(View)与应用程序逻辑(ViewModel)分离,以实…

nginx 负载均衡、反向代理实验

nginx 负载均衡、反向代理实验 实验目的 理解概念:明确反向代理和负载均衡的基本概念及其在网络架构中的作用。 掌握技能:学习如何配置Nginx以实现反向代理和负载均衡功能。 实践应用:通过实际操作,体验Nginx如何提升Web服务的可…

Flutter弹窗链-顺序弹出对话框

效果 前言 弹窗的顺序执行在App中是一个比较常见的应用场景。比如进入App首页,一系列的弹窗就会弹出。如果不做处理就会导致弹窗堆积的全部弹出,严重影响用户体验。 如果多个弹窗中又有判断逻辑,根据点击后需要弹出另一个弹窗,这…

Windows10系统中CANoe字体异常问题解决办法

Windows10系统中CANoe/CANalyzer字体异常问题解决办法 一、问题: 在Windows10中文系统中,CANoe/CANalyzer的一些窗口会显示异常的字体,大部分其他窗口的字体却是正常的? 异常的字体如下: 二、问题说明 CANoe/CANalyzer的开发过程中使用了多种对话框技术。一些对话框使…

ADS基础教程10-多态性(动态模型选择)

目录 一、多态性定义二、操作步骤1.模型建立2.模型选择3.执行仿真 一、多态性定义 ADS中支持一个Symbol中,可以同时存在多个子图。在仿真时可以动态选择不同的子图继续宁仿真。 二、操作步骤 1.模型建立 在上一章A…

基于springboot+vue+Mysql的教师人事档案管理系统

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

代码随想录第52天|300.最长递增子序列 718. 最长重复子数组

300.最长递增子序列 300. 最长递增子序列 - 力扣(LeetCode) 代码随想录 (programmercarl.com) 动态规划之子序列问题,元素不连续!| LeetCode:300.最长递增子序列_哔哩哔哩_bilibili 给你一个整数数组 nums &#xff0…

RS®ZNLE 矢量网络分析仪

R&SZNLE 矢量网络分析仪 宽频率范围:100 kHz 至 20 GHz 基础测量任务 价值高 独立操作 基础网络分析应用的理想之选 R&SZNLE 矢量网络分析仪易于用户使用,适用于基础测量任务 闻名遐迩的优质设计、创新的用户界面以及紧凑尺寸使 R&…