第三章 Lua字串

2021-10-10 01:54:33 字數 1874 閱讀 8560

字串用於表示文字。lua語言中的字串既可以表示單個字元,也可以表示一整本書籍°。在 lua語言中,操作100k或者1m個字母組成的字串的程式也很常見。 lua語言中的字串是一串位元組組成的序列,lua核心並不關心這些位元組究竟以何種方式編碼文字。在lua語言中,字元使用8個位元位來儲存( eight-bit clean)。lua語言中的字串可以儲存包括空字元在內的所有數值**,這意味著我們可以在字串中儲存任意的二進位制資料。同樣,我們可以使用任意一種編碼方法(utf-8、utf-16等)來儲存unicode字串;不過,像我們接下來很快要討論的那樣,最好在一切可能的情況下優先使用utf-8編碼。lua的字串標準庫預設處理8個位元位(1byte)的字元,但是也同樣可以非常優雅地處理utf-8字串。此外,從 lua 5.3開始還提供了乙個幫助使用utf-8編碼的函式庫。 lua語言中的字串是不可變值( immutable value )。我們不能像在c語言中那樣直接改變某個字串中的某個字元,但是我們可以通過建立乙個新字串的方式來達到修改的目的,例如:

lua語言中的字串是不可變值( immutable value)。我們不能像在c語言中那樣直接改變某個字串中的某個字元,但是我們可以通過建立乙個新字串的方式來達到修改的目的,例如:

該操作符返回字串占用的位元組數,在某些編碼中,這個值可能與字串中字元的個數不同。

我們可以使用連線操作符…(兩個點)來進行字串連線。如果運算元中存在數值,那麼lua語言會先把數值轉換成字串:

在某些語言中,字串連線使用的是加號,但實際上3+5和3…5是不一樣的。應該注意,在lua語言中,字串是不可變數。字串連線總是建立乙個新字串,而不會改變原來作為運算元的字串:

lua語言在執行時提供了數值與字串之間的自動轉換( conversion)。針對字串的所有算術操作會嘗試將字串轉換為數值。lua語言不僅僅在算術操作時進行這種強制型別轉換( coercion),還會在任何需要數值的情況下進行,例如函式math.sin的引數。相反,當lua語言發現在需要字串的地方出現了數值時,它就會把數值轉換為字串:

任何有字串參與的數**算,字串都會被轉換為浮點數

如果需要顯式地將乙個字串轉換成數值,那麼可以使用函式tonumber。當這個字串的內容不能表示為有效數字時該函式返回nil;否則,該函式就按照lua語法掃瞄器的規則返回對應的整型值或浮點型別值:

呼叫函式tostring可以將數值轉換成字串:

第三章 字串

3 1 基本字串操作 字串是不可變的。類似以下的分片賦值是不合法的 website 3 com 報錯 3.2 字串格式化 在 的左側放置乙個字串,而右側放置希望格式化的值。format hello,s,s enough for ya?values world hot print format val...

Python第三章 字串

第三章 字串 3.1 基本字串操作 python的字串和元組差不多,是不可以進行改變的,如果想改變值,可以嘗試list序列化之後在進行修改。3.2 字串格式化 精簡版 字串格式化使用字串格式化操作符 這個名字還是很恰當的 即 來實現。基本用法例子 1.format hello,s.s enough ...

第三章 使用字串

不可變 格式化乙個一上的值使用元組或者字典 s轉化說明字元 使用 從元組中讀出字段寬度和精讀 模板字串 string from string import template s template x.glorious x s.substitute x slumr 使用關鍵字引數 或者使用字典 一些字...