前言
今天我們總結的函數也比較簡單,函數的作用的將所給字符串的中的大寫字母轉換成小寫字母,這種操作往往出現在比較操作之前,比如驗證碼通常都是不區分大小寫的,接下來我們一起看一下函數的用法。
內容
string.lower()
原型:string.lower(s)
解釋:接收一個字符串,然後返回一個將字符串中大寫字母轉化為小寫字母的字符串副本,除此之外其他字符都不會被改變,大寫字母的定義依賴於當前的本地設置。
Usage
首先我們新建一個文件將文件命名為lowertest.lua然後編寫代碼如下:
local sourcestr = "ADGdfhhjfhjafhdf~fa\000fFAKLDSFklj897890"
print("\nsourcestr is "..sourcestr)
local q_sourcestr = string.format("%q", sourcestr)
print("\n\q_sourcestr is "..q_sourcestr)
local lowerstr = string.lower(sourcestr);
print("\n\lowerstr is "..lowerstr)
local q_lowerstr = string.format("%q", lowerstr)
print("\n\q_lowerstr is "..q_lowerstr)
運行結果
總結
由前兩組結果的對比可以看出,普通的字符串如果遇到字符"\0"時將會被截斷,想要不截斷那就需要使用格式符%q來處理,具體方法參見前幾篇文章Lua string.format()。
由4組結果對比可以看出,函數string.lower()不會在遇到"\0"時就被截斷,而是繼續處理直到最後一個字符。