大小寫轉(zhuǎn)換.png
前言#
我想大家看到今天的的函數(shù)名也知道他的作用了吧绅络,你猜的肯定沒錯,這個函數(shù)就是所給字符串中的小寫字母轉(zhuǎn)換成大寫字母询筏,這和string
家族中的函數(shù)string.lower()
是恰恰相反的泻肯,接下來我們一起來簡單看一下這個函數(shù)的用法。
內(nèi)容#
string.upper()##
- 原型:string.upper(s)
- 解釋:接收一個字符串跨新,然后返回一個將字符串中大寫字母轉(zhuǎn)化為小寫字母的字符串副本,除此之外其他字符都不會被改變坏逢,大寫字母的定義依賴于當前的本地設置玻蝌。
Usage##
- 首先我們新建一個文件將文件命名為uppertest.lua然后編寫代碼如下:
-- 源字符串
local sourcestr = "ADGdfhhjfhjafhdf~fa\000fFAKLDSFklj897890"
print("\nsourcestr is "..sourcestr)
-- 去掉`\0`的影響
local q_sourcestr = string.format("%q", sourcestr)
print("\n\q_sourcestr is "..q_sourcestr)
-- 使用函數(shù)轉(zhuǎn)換
local upperstr = string.upper(sourcestr);
print("\n\upperstr is "..upperstr)
-- 將結(jié)果去掉`\0`影響
local q_upperstr = string.format("%q", sourcestr)
print("\n\q_upperstr is "..q_upperstr)
- 運行結(jié)果
string_upper.png
總結(jié)#
- 由前兩組結(jié)果的對比可以看出,普通的字符串如果遇到字符
"\0"
時將會被截斷词疼,想要不截斷那就需要使用格式符%q
來處理俯树,具體方法參見前幾篇文章Lua string.format()。 - 由4組結(jié)果對比可以看出贰盗,函數(shù)
string.upper()
不會在遇到"\0"
時就被截斷许饿,而是繼續(xù)處理直到最后一個字符。 - 在這個函數(shù)使用之前可以先和函數(shù)
sting.lower()
對比一下舵盈,選擇最合適的轉(zhuǎn)換方向陋率。