Lua語言中常用的字符串操作函數

?string.sub(s, i, j)

  • 功能: 截取字符串?s?中從位置?i?到位置?j?的子字符串。

  • local s = "Hello, Lua!"
    print(string.sub(s, 1, 5))  -- 輸出 "Hello"
    print(string.sub(s, 8, 11)) -- 輸出 "Lua!"

string.len(s)

?功能:將字符串長度返回,如果換行符沒有明顯寫出來,就不會加入計算,如果說換行符已經明顯寫出來了,那么要加入計算,比如下面如果寫了"hello, lua!\n",那么這時候就有12個字符

local s = "Hello, Lua!"
print(string.len(s))  -- 輸出 11

string.lower(s)

將字符串轉換成小寫

local s = "Hello, Lua!"
print(string.lower(s))  -- 輸出 "hello, lua!"

string.upper(s)

將字符串轉換成大寫

local s = "Hello, Lua!"
print(string.upper(s))  -- 輸出 "HELLO, LUA!"

string.find(s, pattern)

功能:這個函數是用來查找函數中的字符串,參數是字符串和要查找的字符,有兩個返回值,是一個區間范圍,即查找到字符串的(開始位置-結束位置),如果沒有找到,就返回nil

local s = "Hello, Lua!"
local start, finish = string.find(s, "Lua")
print(start, finish)  -- 輸出 8 10

?string.match(s, pattern)

功能:這個函數是用來查找指定字符串,返回值就是查找到的字符串,如果沒有查找到,就返回nil

local s = "Hello, Lua!"
local result = string.match(s, "Lua")
print(result)  -- 輸出 "Lua"

string.gsub(s, pattern, repl)

功能:把指定字符串當中的某個字符串替換成想要替換的新字符串,返回值有兩個,一個是返回被替換之后的整個字符串,一個是字符串當中被替換掉的次數

local s = "Hello, Lua!"
local result, count = string.gsub(s, "Lua", "World")
print(result)  -- 輸出 "Hello, World!"
print(count)   -- 輸出 1

string.rep(s, n)

將字符串重復指定次數

local s = "Lua"
print(string.rep(s, 3))  -- 輸出 "LuaLuaLua"

string.reverse(s)

將字符串反轉

local s = "Hello, Lua!"
print(string.reverse(s))  -- 輸出 "!auL ,olleH"

string.format(format, ...)

格式化字符串,相當于c中的printf

local name = "Lua"
local version = 5.4
print(string.format("Welcome to %s %0.1f!", name, version))  -- 輸出 "Welcome to Lua 5.4!"

string.char(...)

功能: 將整數轉換為對應的字符。f f f

  • print(string.char(72, 101, 108, 108, 111))  -- 輸出 "Hello"

string.byte(s, i, j)

返回字符串?s?中從位置?i?到位置?j?的字符的 ASCII 碼。

local s = "Hello"
print(string.byte(s, 1, 3))  -- 輸出 72 101 108

string.gmatch(s, pattern)

功能: 返回一個迭代器,用于遍歷字符串?s?中所有匹配?pattern?的子字符串

local s = "Hello, Lua!"
for word in string.gmatch(s, "%a+") doprint(word)
end
-- 輸出:
-- Hello
-- Lua

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/65425.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/65425.shtml
英文地址,請注明出處:http://en.pswp.cn/web/65425.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

llm大模型學習

llm大模型 混合專家模型(MoE)MoE結構路由router專家expertSwitch Transformer的典型MOE模型最后MoE總結 混合專家模型(MoE) 模型規模是提升LLM大語言模型性能的關鍵因素,但也會增加計算成本。Mixture of Experts (MoE…

Linux入門攻堅——43、keepalived入門-1

Linux Cluster(Linux集群的類型):LB、HA、HPC,分別是負載均衡集群、高可用性集群、高性能集群。 LB:lvs,nginx HA:keepalived,heartbeat,corosync,cman HP&am…

HTML5 動畫效果:淡入淡出(Fade In/Out)詳解

HTML5 動畫效果:淡入淡出(Fade In/Out)詳解 淡入淡出(Fade In/Out)是一種常見的動畫效果,使元素逐漸顯現或消失,增強用戶體驗。以下是淡入淡出的詳細介紹及實現示例。 1. 淡入淡出的特點 平滑…

YOLOv8/YOLOv11改進 添加CBAM、GAM、SimAM、EMA、CAA、ECA、CA等多種注意力機制

目錄 前言 CBAM GAM SimAM EMA CAA ECA CA 添加方法 YAML文件添加 使用改進訓練 前言 本篇文章將為大家介紹Ultralytics/YOLOv8/YOLOv11中常用注意力機制的添加,可以滿足一些簡單的漲點需求。本文僅寫方法,原理不多講解,需要可跳…

Go語言的 的多態性(Polymorphism)基礎知識

Go語言的多態性(Polymorphism)基礎知識 在編程語言中,多態性是一個核心概念,它允許同一接口被不同的數據類型所實現,從而在不影響代碼結構的情況下增強代碼的靈活性和可擴展性。在Go語言中,多態性通過接口…

nginx運行之后顯示的是上一個項目,如何解決

重啟 Nginx 使配置生效 修改 Nginx 配置后,你需要重新加載或重啟 Nginx,以使配置生效。執行以下命令: sudo nginx -t # 測試配置是否正確 sudo systemctl restart nginx # 重啟 Nginxbash 復制代碼 檢查瀏覽器緩存 瀏覽器可能緩存了舊…

與 Oracle Dataguard 相關的進程及作用分析

與 Oracle Dataguard 相關的進程及作用分析 目錄 與 Oracle Dataguard 相關的進程及作用分析與 Oracle Dataguard 相關的進程及作用分析一、主庫的進程1、LGWR 進程2、ARCH進程3、LNS 進程 二、備庫的進程1、RFS 進程2、ARCH3、MRP(Managed Recovery Process&#x…

【C語言】_指針與數組

目錄 1. 數組名的含義 1.1 數組名與數組首元素的地址的聯系 1.3 數組名與首元素地址相異的情況 2. 使用指針訪問數組 3. 一維數組傳參的本質 3.1 代碼示例1:函數體內計算sz(sz不作實參傳遞) 3.2 代碼示例2:sz作為實參傳遞 3…

解決“KEIL5軟件模擬仿真無法打印浮點數”之問題

在沒有外部硬件支持時,我們會使用KEIL5軟件模擬仿真,這是是仿真必須要掌握的技巧。 1、點擊“Project”,然后點擊“Options for target 項目名字”,點擊“Device”,選擇CPU型號。 2、點擊“OK” 3、點擊“Target”,勾選“Use Mi…

donet (MVC)webAPI 的接受json 的操作

直接用對象來進行接收&#xff0c;這個方法還不錯的。 public class BangdingWeiguiJiluController : ApiController{/// <summary>/// Json數據錄入錯誤信息/// </summary>/// <param name"WeiguiInfos"></param>/// <returns></r…

設計模式與游戲完美開發(3)

更多內容可以瀏覽本人博客&#xff1a;https://azureblog.cn/ &#x1f60a; 該文章主體內容來自《設計模式與游戲完美開發》—蔡升達 第二篇 基礎系統 第五章 獲取游戲服務的唯一對象——單例模式&#xff08;Singleton&#xff09; 游戲實現中的唯一對象 在游戲開發過程中…

pygame飛機大戰

飛機大戰 1.main類2.配置類3.游戲主類4.游戲資源類5.資源下載6.游戲效果 1.main類 啟動游戲。 from MainWindow import MainWindow if __name__ __main__:appMainWindow()app.run()2.配置類 該類主要存放游戲的各種設置參數。 #窗口尺寸 #窗口尺寸 import random import p…

thinkphp通過html生成pdf

thinkphp 生成pdf {__NOLAYOUT__} <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>合同模板</title><style>/*打印內容*/media print {page {size: A4 landscape; /* auto is the initi…

如何讓用戶在網頁中填寫PDF表格?

在網頁中讓用戶直接填寫PDF表格&#xff0c;可以大大簡化填寫、打印、掃描和提交表單的流程。通過使用復選框、按鈕和列表等交互元素&#xff0c;PDF表格不僅讓填寫過程更高效&#xff0c;還能方便地在電腦或移動設備上訪問和提交數據。 以下是在瀏覽器中顯示可填寫PDF表單的四…

ThinkPHP 8高效構建Web應用-獲取請求對象

【圖書介紹】《ThinkPHP 8高效構建Web應用》-CSDN博客 《2025新書 ThinkPHP 8高效構建Web應用 編程與應用開發叢書 夏磊 清華大學出版社教材書籍 9787302678236 ThinkPHP 8高效構建Web應用》【摘要 書評 試讀】- 京東圖書 使用VS Code開發ThinkPHP項目-CSDN博客 編程與應用開…

軟件架構的康威定律:AI如何重構團隊協作模式

1. 引言 康威定律&#xff0c;一個簡潔卻深刻的觀察&#xff1a;任何組織設計出的系統&#xff0c;其結構都與組織自身的溝通結構保持一致。這意味著&#xff0c;一個團隊的溝通方式、組織結構直接影響著最終產品的架構。這在軟件開發領域尤為明顯。一個溝通效率低下的團隊&am…

23.行號沒有了怎么辦 滾動條沒有了怎么辦 C#例子

新建了一個C#項目&#xff0c;發現行號沒有了。 想把行號調出來&#xff0c;打開項目&#xff0c;選擇工具>選項> 如下圖&#xff0c;在文本編輯器的C#里有一個行號&#xff0c;打開就可以了 滾動條在這里&#xff1a;

30天開發操作系統 第 12 天 -- 定時器

前言 定時器(Timer)對于操作系統非常重要。它在原理上卻很簡單&#xff0c;只是每隔一段時間(比如0.01秒)就發送一個中斷信號給CPU。幸虧有了定時器&#xff0c;CPU才不用辛苦地去計量時間。……如果沒有定時器會怎么樣呢?讓我們想象一下吧。 假如CPU看不到定時器而仍想計量時…

el-table 實現縱向多級表頭

為了實現上圖效果&#xff0c;最開始打算用el-row、el-col去實現&#xff0c;但發現把表頭和數據分成兩大列時&#xff0c;數據太多時會導致所在格高度變高。但由于每一格數據肯定不一樣&#xff0c;為保持高度樣式一致&#xff0c;就需要我們手動去獲取最高格的高度之后再設置…

ES_如何設置ElasticSearch 8.0版本的匿名訪問以及https_http模式的互相切換

總結&#xff1a; 設置匿名訪問&#xff0c;只需要設置xpack.security.authc.anonymous.username和xpack.security.authc.anonymous.roles參數就行&#xff0c;設置好后&#xff0c;可以匿名訪問也可以非匿名訪問&#xff0c;但是非匿名訪問的情況下必須保證用戶名和密碼正確 取…