lua 語言中的字串是不可變值,但可以建立乙個新字串 的方式來達到修改的目的。
字串長度獲取:
str="abcd"
print(#str) ->4
print(string.len(str)) ->4
連線兩個字串:可以使用連線操作符 .. (兩個點)來進行字串連線 如果運算元中存在數值,那麼lua 語言會先把數值轉換成字串
"hello".."world" ->helloworld
字串常量:可以使用一對雙引號或單引號來宣告字串常量
強制型別轉換:如果需要顯式地將乙個字串轉換成數值,那麼可以使用函式 tonumbe 當這個字串的內容不能表示為有效數字時該函式返回 nil ;否則,該函式就按照 lua 語法掃瞄器的規則返回對應的整型值或浮點型別值。
(預設情況 ,函式 tonumber 使用的是十進位制,但是也可以指明使用二進位製到 十六進製制之間的任意進製)
tonumber (" 100101 ", 2) --> 37
tonumbe (" fff ", 16) --> 4095
tonumber ("- zz", 36 ) --> -1295
tonumber (" 987 ", 8) --> nil
呼叫函式 to string 可以將數值轉換成字串
string.rep(s,n)返回將宇符串重複n次的結果
函式 string. reverse(s) 用於字串翻轉函式
函式 string. lower(s)返回乙份 的副本,其中所有的大寫字母都被轉換成小寫字母, 而其他字元則保持不變;
函式 string.upper(s)與之相反,該函式會將寫字母轉換成大寫字母.
函式string.sub(s,i,j)從字串s中提取第i個到第j個字元(包括第i個和第j個字元,第乙個字元的索引為1,記住哦!!!不是0!!)
函式 string.char接收零個或多個整數作為引數,然後將每個整數轉換成對應的字元,最後返回由這些連線而成的字串
string.byte(s, i, j) 返回索引 i 到 j 之間(包括 i 和 j )的所有字元的數值
函式 string.format 是用於進行字串格式化和將數值輸出為字串的強大工具
函式 string.find 用於在指定的字串中進行
模式搜尋
函式 string.gsub則把所有匹配的模式用另乙個字串替換
string.rep("abc",3) ->abcabcabc
string.reverse("abc") ->cba
string.lower("abc") ->abc
string.upper("abc") ->abc
string.sub("abc",1,2) ->ab
print( string.byte (" abc ", 1 , 2)) -- > 97 98
string.format ("x = %d y = %d ", 10, 20) -- > x = 10 y = 20
string.find ("hello world ","wor ") -- > 7 9
string.gsub("hello world","l","#") ->he##o wor#d 3
練習4.3:
function insert (astr,start,bstr)
if start==1 then
return bstr..astr
else
return string.sub(astr,1,start-1)..bstr..string.sub(astr,start,#astr)
end
練習4.5
function remove(str,start,len)
return string.sub(str,1,start-1)..string.sub(str,start+len,#str);
end
練習4.7
思路一:每個字元每個字元的比較。
function ispali(str)
for i=1,#str//2 do
if string.byte(str,i,i)~=string.byte(str,#str-i+1,#str-i+1) then
return false;
endend
return true;
end
思路二:直接將字串反轉過來比較。
fucntion ispali(str)
return string.reverse(str)==str;
end
第四章習題
一。填空題 1 基 派生 2 單繼承 多繼承 3 私有繼承方式 4 公有 保護 5 多繼承 6 支配原則 7 解決二義性 8 使用作用域運算子 引進虛基類 二。選擇題 1 5 b cd abc c a 6 10 c b d ad a 三。判斷題 f t f t f f 四。簡答題 1.在物件導向技術...
第四章 習題
一 填空題 1 如類果類a繼承了b,那麼類a被稱為 基類,而類b被稱為 派生類。2 c 的兩種繼承為 單繼承和 多繼承。3 在預設情況下的繼承方式為 私有繼承方式 4 從基類中公有派生乙個類時,基類的公有成員就成為派生類的 公有 成員,而這個基類的保護成員就成為派生類的 保護成員。5 c 提供了 多...
C Primer Plus 程式設計練習第四章
1 include int main char b 10 printf 請輸入您的姓名 scanf s,s a,b getchar printf 歡迎您 s,s 請輸入您的姓名 scanf s a getchar int len strlen a printf d n len printf s n ...