文字列をリストまたはアトムに変換
(read "aaa")
;; -> AAA
(read "aaa bbb")
;; -> AAA
(read "(a b c)")
;; -> (a b c)
;; 変数を文字列として扱う
(setq val 12345)
(eval (read "val"))
;; -> 12345
アルファベット大文字、小文字変換
(strcase "aaa")
;; -> AAA
(strcase "BBB")
;; -> BBB
(strcase "AbCd")
;; -> ABCD
(strcase "aaa" T)
;; -> aaa
(strcase "BBB" T)
;; -> bbb
(strcase "AbCd" T)
;; -> abcd
文字列を連結する
(strcat "aaa" "bbb" "ccc")
;; -> "aaabbbccc"
(strcat "aaa" "" "bbb")
;; -> "aaabbb"
(strcat "aaa" " " "bbb")
;; -> "aaa bbb"
文字数を数える
(strlen "abcde")
;; -> 5
(strlen "aaa" "bbb" "ccc")
;; -> 9
(strlen "")
;; -> 0
(strlen " ")
;; -> 1
(strlen "あいうえお")
;; -> 10
部分文字列を取得
; 3文字目以降の文字を取得
(substr "abcde" 3)
;; -> cde
;; 1文字目から3文字取得
(substr "abcde" 1 3)
;; -> abc
LISP オブジェクトを表す文字列を、prin1 関数で出力したかのように返す。
(vl-prin1-to-string 3.14)
;; -> "3.14"
LISP オブジェクトを表す文字列を、princ 関数で出力したかのように返す。
(vl-princ-to-string 3.14)
;; -> "3.14"
文字列を文字コードのリストに変換
(vl-string->list "abcde")
;; -> (97 98 99 100 101)
(vl-string->list "12345")
;; -> (49 50 51 52 53)
(vl-string->list "あいうえお")
;; -> (130 160 130 162 130 164 130 166 130 168)
(vl-string->list "")
;; -> nil
(vl-string->list " ")
;; -> (32)
(vl-string->list " ")
;; -> (32 32 32 32 32)
指定位置の文字のASCIIコードを取得する
(vl-string-elt "abcde" 3)
;; -> 100
(vl-string-elt "Hello World" 6)
;; -> 87
指定された文字を、文字列の先頭から削除
vl-string-left-trim "a" "abcdea")
;; -> "bcdea"
(vl-string-left-trim " " " Hello World ")
;; -> "Hello World "
指定された位置から始まる、2 つの文字列の最も長い共通の接頭語の長さを取得
(vl-string-mismatch "aaabbb" "aaaccc")
;; -> 3
(vl-string-mismatch "bbb" "ccc")
;; -> 0
文字列内の指定された ASCII コードの文字を検索
(vl-string-position 97 "abcde")
;; -> 0
(vl-string-position (ascii "c") "abcde")
;; -> 2
指定された文字を、文字列の末尾から削除
(vl-string-right-trim "a" "abcdea")
;; -> "abcde"
(vl-string-right-trim " " " Hello World ")
;; -> " Hello World"
指定されたパターンを文字列内で検索
(vl-string-search "abc" "abcde")
;; -> 0
(vl-string-search "cde" "abcde")
;; -> 2
文字列内の特定の文字列を他の文字列で置換
;; "bbb" を "aaa" に置換
(vl-string-subst "aaa" "bbb" "aaa bbb ccc ddd")
;; ->"aaa aaa ccc ddd"
文字列内の文字を指定された文字セットで置換
(vl-string-translate "abcde" "12345" "a b c d e ABC abc")
;; -> "1 2 3 4 5 ABC 123"
指定された文字を、文字列の先頭と末尾から削除
(vl-string-trim "a" "abcdea")
;; -> "bcde"
(vl-string-trim " " " Hello World ")
;; -> "Hello World"
ワイルドカードを使用して、文字列のパターン マッチングを行う
(wcmatch "a1b2c2d4" "a")
;; -> nil
(wcmatch "a1b2c3d4" "a*")
;; -> T
(wcmatch "a1b2c3d4" "b#")
;; -> nil
(wcmatch "a1b2c3d4" "*b#*")
;; -> T
(wcmatch "a1b2c3d4" "3@")
;; -> nil
(wcmatch "a1b2c3d4" "*3@*")
;; -> T