NSIS文字及字串函式與標頭檔案介紹
文字函式,顧名思義就是處理字串的函式。使用這些字串函式前,必須先包含標頭檔案WordFunc.nsh。該標頭檔案目前包含如下一些函式:WordFind、WordFind2X、WordFind3X、WordReplace、WordAdd、WordInsert、StrFilter、VersionCompare、VersionConvert等。這些函式的主要作用都是查詢字串。下面我們就常用函式用法做以簡單介紹。
- WordFind
用於在給定字串中查詢使用指定的分隔符分隔的字串。由於功能眾多,其語法與引數在此不再贅述。舉例說明:假如我們要從字串“first;second;third;forth”中查詢第二個字串,就必須使用這樣的程式碼:
${WordFind} "first;second;third;forth" ";" +2 $R0
輸出的結果$R0為second。其中的+2中的“+”代表從左查詢,2代表第二個字串。
- WordFind2X
用於在給定字串中查詢使用指定的兩個分隔符包圍的字串。功能強大,語法與引數亦不贅述。舉例說明其用法:假如我們要從字串“<System>|<Guest>|<User>”中查詢第三個字串,也就是倒數第一個,即User,用第一個就比較麻煩了。這是我們需要藉助WordFind2X查詢。程式碼如下:
${WordFind2X} "<System>|<Guest>|<User>" "<" ">" -1 $R0
輸出的結果$R0為User。其中的-1中的“-”代表從右計算,1代表第二個字串。
- WordFind3X
與WordFind2X比較相似,用於在給定字串中查詢使用指定的兩個分隔符包圍且含有指定字串的字串。使用方法將不做介紹,使用者可以參考中文版本的幫助檔案。
- WordReplace
${WordReplace} "[字串]" "[詞語1]" "[詞語2]" "[E][選項]" $輸出變數
- WordAdd
從選項中指定的字串2新增詞語到字串1(如果不存在),或刪除詞語(如果存在)。語法:
${WordAdd} "[字串1]" "[分隔符]" "[E][選項]]" $輸出變數
- WordInsert
${WordInsert} "[字串]" "[分隔符]" "[詞語]" "[E][選項]]" $輸出變數
- StrFilter
轉換字串為大寫或小寫;設定符號過濾。語法:
${StrFilter} "[字串]" "[選項]" "[符號1]" "[符號2]" $輸出變數
- VersionCompare
${VersionCompare} "[版本1]" "[版本2]" $輸出變數
- VersionConvert
將帶字母的版本轉換為可用於比較的十進位制數版本號。語法:
${VersionConvert} "[版本]" "[字元列表]" $輸出變數
用法示例:${VersionConvert} "9.0c" "" $R0
結果變數$R0的值為9.0.03。這樣轉換後可以用於和別的版本如9.0a比較。