1. 程式人生 > >lua 中的string庫函式

lua 中的string庫函式

首先string庫中所有字元索引從前往後是1,2....;  從後往前是-1,-2.....

string.len(str)

獲得字串str的長度

str = "testA"

print(string.len(str))		-- 列印結果是5


string.rep(str,n)

獲得字串str重複n次之後的字串,入str="abc",  n = 2  則返回結果是"abcabc"

str = "testA"

print(string.rep(str,2))		-- 列印結果是testAtestA

string.lower(str)

將全部字串轉換為小寫  入”AbAb“  ---> "abab"

str = "testA"

print(string.lower(str))		-- 列印結果是testa
string.upper(str)

將全部字串轉換為大寫 如"AbAb"  ----> "ABAB"

str = "testA"

print(string.upper(str))		-- 列印結果是TESTA

string.format(str,...)

string.format()是格式化函式,希望有特殊格式轉換操作用string.format()是一個很好的解決方案

str 為字串格式,後面的引數可以隨便加,用於填充第一個引數中的格式控制符,最後返回完整的格式化後的字串

常用的格式運算子

%s--->  接受一個字串

%d---> 接收一個數字

%f--->  接受一個浮點型型別

%x---> 接收一個數字並將轉化為小寫的十六進位制格式

%X---> 接受一個數字並將轉化為大寫的十六進位制格式

%c--->  接受一個字元,並轉化為ASCII碼錶中對應的字元

%d,%i---> 接受一個數字並將其轉化為有符號的正數格式

%q---> 接受一個字串並將轉化為可安全被lua編輯器讀入的格式
str = "testA"
str1 = "testA1"
print(string.format("%s,%s",str,str1))		-- 列印結果是testA,testA1

string.sub(str,start,end)

擷取一段字串  引數end可以不寫, 預設狀態是一直到字串末尾

str = "test string.sub usage"

print(string.sub(str,6))			-- 列印結果是"string.sub usage"

print(string.sub(str,-5))			-- 列印結果是"usage"

print(string.sub(str,6,11))			-- 列印結果是"string"


string.find(str, point, n)

在字串str中查詢為point相同的字元的位置,  返回的結果是 找到符合條件的位置的字串入”abceds“  我要找”ced“  則返回的結果是"3 6"

str = "test A B C D,test A B C D,test A B C D"


print(string.find(str,"A B"))			-- 列印結果是6  8

print(string.find(str,"A B",19))			-- 列印結果是 19  21


相關推薦

lua string函式

首先string庫中所有字元索引從前往後是1,2....;  從後往前是-1,-2..... string.len(str) 獲得字串str的長度 str = "testA" print(string.len(str)) -- 列印結果是5 string.rep(st

lua的table函式

本文轉自http://www.cnblogs.com/whiteyun/archive/2009/08/10/1543139.html 一部分的table函式只對其陣列部分產生影響,而另一部分則對整個table均產生影響。  table.concat(table,sep,

C++string erase 函式的使用 C++string erase函式的使用

轉 C++中string erase函式的使用 2017年04月05日 21:02:17 It_BeeCoder 閱讀數:4286 更多

javastring.trim()函式的使用

trim():去掉字串首尾的空格。   public static void main(String arg[]){           String a=" hello world ";   &nbs

C++string erase 函式的使用

轉 C++中string erase函式的使用

string函式

標頭檔案: #include<string.h> 第一名     char* strstr(char* dest, char* need); 從dest字串中找出need字串出現的位置,不比較結束符,找不到返回NULL,找到了 返回need出現的位置

C++string.find()函式string::npos求解刪除子串題目

7-2 刪除字串中的子串 (20 分) 輸入2個字串S1和S2,要求刪除字串S1中出現的所有子串S2,即結果字串中不能包含S2。 輸入格式: 輸入在2行中分別給出不超過80個字元長度的、以回車結束的2個非空字串,對應S1和S2。 輸出格式: 在一行中輸出刪除字

sort函式的用法(C++排序函式的呼叫)對陣列進行排序,在c++函式幫我們實現,這們就不需要我們自己來程式設計進行排序了。

對陣列進行排序,在c++中有庫函式幫我們實現,這們就不需要我們自己來程式設計進行排序了。 (一)為什麼要用c++標準庫裡的排序函式 Sort()函式是c++一種排序方法之一,學會了這種方法也打消我學習c++以來使用的氣泡排序和選擇排序所帶來的執行效率不高的問題!因為它使用

C++string常用函式及用法總結

標準c++中string類函式介紹 注意不是CString 之所以拋棄char*的字串而選用C++標準程式庫中的string類,是因為他和前者比較起來,不必 擔心記憶體是否足夠、字串長度等等,而且作為一個類出現,他整合的操作函式足以完成我們大多數情況下(甚至是1

C++string erase函式的使用

erase函式的原型如下: (1)string& erase ( size_t pos = 0, size_t n = npos ); (2)iterator erase ( iterator position ); (3)iterator erase

C++string substr函式的使用方法

substr函式的形式為s.substr(pos, n), 需要兩個引數,第一個是開始位置,第二個是獲取子串的長度。 函式可以從一個字串中獲取子串,返回一個string,包含s中從pos開始的n個字元的拷貝(pos的預設值是0,n的預設值是s.size() -

Luastring.format佔位符的使用

雖然lua中字串拼接“string.format”相對於“..”消耗較大,但有時為了程式碼的可讀性,專案中還是經常用到“string.format”。至於這兩個用法的效能看原始碼也很容易看出來,這裡就簡單說一下,前者其實呼叫C函式str_format來實現拼接的,而後者只是一個操作符,通過memcpy來拼接,

Luastring.format轉義符的使用

雖然lua中字串拼接“string.format”相對於“..”消耗較大,但有時為了程式碼的可讀性,專案中還是經常用到“string.format”。至於這兩個用法的效能看原始碼也很容易看出來,這裡就

linux c string函式總結

#include<strings.h>忽略大小比較兩個字元是否相當。如果s1>s2返回一個大於0的數。 如果s1 = s2 返回一個0。如果s1<s2返回一個小於0的數。/***************************************

luastring和正則表示式

一.前提要了解一下lua 的string幾個方法 1. string庫中所有的字元索引從前往後是1,2,...;從後往前是-1,-2,... 2. string庫中所有的function都不會直接操作字串,而是返回一個結果 string.len(s):返回字串的長度

C++ string.find() 函式的用法總結

 #include <string> #include <iostream> using namespace std; void main() { ////find函式返回型別 size_typestring s("1a2b3c4d5e6f7g8h9i1a2b3c4d5e6f7g8

8、Lua呼叫C++函式

    來往來往,有來有往才能叫做來往。既然C/C++和lua是好親戚,那就會有來有往。之前,我們一直在討論在C/C++中如何使用Lua提供的變數和函式。從這篇文章開始,咱們來討論一下如何在Lua中使用C/C++提供的變數、函式甚至類。     當然,我們還是

Luastring.gmatch方法

下面的表列出了Lua支援的所有字元類: 字元類:(character classes) . all characters %a letters %c control characters %d digits %l lower -case letter

lua的標準函式

數學函式庫math.abs(x)的返回x的絕對值math.acos(x)的返回x的反餘弦值(以弧度計)math.asin(x)的math.atan(x)的math.atan2(Y,X )返回y / x的反正切值(以弧度表示),但使用這兩個引數的符號來找到結果的象限。(它也處理正確的x是零的情況。)math

C++ string.find() 函式的用法總結(轉載)

 #include <string>#include <iostream>using namespace std; void main() { ////find函式返回型別 size_type string s("1a2b3c4d5e6f7g8