AutoCAD LISP 字串函數查找表(AutoLISP)

快速查詢函數功能與用法。

函數 描述
(read  [字串]) 從字串中獲取的第一個列表或原子。
(strcase 字串 [選擇]) 轉換所有字母成大寫或小寫。
(strcat [字串1 [字串2 ...]) 返回連接多個字串。
(strlen [字串 ...]) 返回字串的字數。
(substr 字串 開始位置 [長度]) 擷取字串中的文字。
(vl-prin1-to-string 資料) 返回任何LISP對象的字串表示形式,像是由 prin1 功能輸出。
(vl-princ-to-string 資料) 返回任何LISP對象的字串表示形式,像是由princ功能輸出。
(vl-string->list 字串) 將字串轉換為字元代碼列表。
(vl-string-elt 字串 位置) 返回字串中指定位置的字元的ASCII表示形式。
(vl-string-left-trim 要刪除字元 字串) 從字串的開頭刪除指定的字元。
(vl-string-mismatch 字串1 字串2 [位置1 位置2 忽略大小寫]) 返回兩個字串從指定位置開始最長相同字串的字數。
(vl-string-position 字元 字串 [ 開始位置 [從尾部開始]]) 在字串中查找具有指定ASCII代碼的字元。
(vl-string-right-trim 字元 字串) 從字串末尾刪除指定的字元。
(vl-string-search 搜尋字串 字串 [開始位置]) 在字串中搜索指定字串。
(vl-string-subst 取代字串 搜尋字串 原字串 [開始位置]) 在字串中用一個字串替換另一個字串。
(vl-string-translate 搜尋字元 取代字元 字串) 用指定的字元集替換字串中的字元。
(vl-string-trim 字元 字串) 從字串的開頭和結尾刪除指定的字元。
(wcmatch 字串 萬用字元字串) 用萬用字元字串比對字串是否符合對應格式。


範例:

read:從字串中獲取的第一個列表或原子

_$ (read "hello there")
HELLO
_$ (read "(a b c) (d)")
(A B C)
_$ (read "87 3.2")
87

strcase:轉換大小寫

(strcase "This is a TEST.")
回傳:
"THIS IS A TEST."

(strcase "This is a TEST." T)
回傳:
"this is a test."


strcat:組合多個字串

(setq str "BIG")
(setq bigstr (strcat "This is a " str " test."))
回傳:
"This is a BIG test."

strlen:字串字數

(setq filnam "bigfile.txt")
(strlen filnam)
回傳:
11

substr:擷取部分字串

這 substr 函數允許您返回字串的一部分。此函數需要兩個參數並有一個可選參數。第一個參數是一個字串,第二個參數是一個整數,表示要作為substr 返回的字串的起始字數。如果未提供第三個參數,substr  返回包含和跟隨指定起始字數的所有字數。
(substr "Welcome to AutoLISP" 12)
回傳:
"AutoLISP"

如果要返回位於提供給字串的開頭或中間的子字串 substr ,您可以為表示應返回的字數的第三個參數指定一個整數。例如,以下示例代碼返回所提供字串的前 7 個字符:
(substr "Welcome to AutoLISP" 1 7)
回傳:
"Welcome"

vl-prin1-to-string :返回字串表示形式,像 prin1 輸出

_$ (vl-prin1-to-string "abc")
"\"abc\""
_$ (vl-prin1-to-string "c:\\acadwin")
"\"c:\\\\acadwin\""
_$ (vl-prin1-to-string 'my-var)
"MY-VAR"
_$ (vl-prin1-to-string 123.456)
"123.456"

vl-princ-to-string:返回字串表示形式,像 princ 輸出

_$ (vl-princ-to-string "abc")
"abc"
_$ (vl-princ-to-string "c:\\acadwin")
"c:\\acadwin"
_$ (vl-princ-to-string 123.456)
"123.456"

vl-string->list:將字串轉換為字元代碼列表

_$ (vl-string->list "abc")
(97 98 99)
_$ (vl-string->list "123")
(49 50 51)
_$ (vl-string->list "eakyle.blogspot.com")
(101 97 107 121 108 101 46 98 108 111 103 115 112 111 116 46 99 111 109)



vl-string-elt:返回字串中指定位置的字元的ASCII表示形式

_$ (vl-string-elt "eakyle.blogspot.com" 2)
107


vl-string-left-trim:從字串的開頭刪除指定的字元

_$ (vl-string-left-trim " " "     eakyle.blogspot.com")
"eakyle.blogspot.com"
_$ (vl-string-left-trim "1234567890" "20240208-eakyle.blogspot.com")
"-eakyle.blogspot.com"

vl-string-mismatch:返回兩個字串從指定位置開始最長相同字串的字數

_$ (vl-string-mismatch "VL-FUN" "VL-VAR")
3
_$ (vl-string-mismatch "vl-fun" "avl-var")
0
_$ (vl-string-mismatch "vl-fun" "avl-var" 0 1)
3
_$ (vl-string-mismatch "VL-FUN" "Vl-vAR")
1
_$ (vl-string-mismatch "VL-FUN" "Vl-vAR" 0 0 T)
3


vl-string-position:在字串中查找具有指定ASCII代碼的字元

_$ (vl-string-position (ascii "z") "azbdc")
1
_$ (vl-string-position 122 "azbzc")
1
_$ (vl-string-position (ascii "x") "azbzc")
nil
_$ (vl-string-position (ascii "z") "azbzlmnqc")
1
_$ (vl-string-position (ascii "z") "azbzlmnqc" nil T)
3


vl-string-right-trim:從字串末尾刪除指定的字元

_$ (vl-string-right-trim " " "eakyle.blogspot.com     ")
"eakyle.blogspot.com"
_$ (vl-string-right-trim "1234567890" "eakyle.blogspot.com-20240208")
"eakyle.blogspot.com-"


vl-string-search:在字串中搜索指定字串

_$ (vl-string-search "blog" "eakyle.blogspot.com")
7
_$ (vl-string-search "o" "eakyle.blogspot.com" 11)
13


vl-string-subs:在字串中用一個字串替換另一個字串

_$ (vl-string-subst "他" "你" "你好嗎")
"他好嗎"
_$ (vl-string-subst "他" "你" "你跟你")
"他跟你"
_$ (vl-string-subst "他" "你" "你跟你" 3)
"你跟他"


vl-string-translate:用指定的字元集替換字串中的字元

_$ (vl-string-translate "abcABC" "123123" "A is a, B is b, C is C")
"1 is 1, 2 is 2, 3 is 3"
_$ (vl-string-translate "abc" "123" "A is a, B is b, C is C")
"A is 1, B is 2, C is C"


vl-string-trim:從字串的開頭和結尾刪除指定的字元

_$ (vl-string-trim " " "    eakyle.blogspot.com     ")
"eakyle.blogspot.com"
_$ (vl-string-trim "1234567890" "20240208eakyle.blogspot.com20240208")
"eakyle.blogspot.com"

wcmatch:用萬用字元字串比對字串是否符合對應格式

_$ (wcmatch "www.eakyle.blogspot.com" "www*")
T
_$ (wcmatch "www.eakyle.blogspot.com" "*.com")
T
_$ (wcmatch "20240208-eakyle.blogspot.com" "########-*")
T


相關連結

應用程序處理函數參考(AutoLISP)
算術函數參考(AutoLISP)
等式和條件函數參考(AutoLISP)
錯誤處理函數參考(AutoLISP)
功能處理函數參考(AutoLISP)
列表操作函數參考(AutoLISP)
字串函數查找表(AutoLISP)
符號處理函數參考(AutoLISP)

AutoCAD LISP 函數參考

曲線測量函數查找表(AutoLISP / ActiveX)
open 指令介紹 (AutoLISP)
AutoCAD LISP VLA函數 快速查詢
AutoCAD LISP acet函數 快速查詢
AutoLisp 錯誤訊息產生原因參考


留言

這個網誌中的熱門文章

AutoCAD 填充線(剖面線)樣式簡易製作產生器

AutoCAD 如何自訂線型教學

AutoCAD 動態圖塊-如何在所有可見性顯示或隱藏