Vl-string-subst

提供:GizmoLabs - だいたい CAD LISP なサイト
2020年8月31日 (月) 15:12時点におけるGizmon (トーク | 投稿記録)による版
構文
(vl-string-subst new-str pattern string [start-pos])


機能
文字列内の特定の文字列を他の文字列で置換する。


引数
  • new-str : pattern の置換後の文字列。
  • pattern : 置換するパターンを含んだ文字列。
  • string : pattern を検索する文字列。
  • start-pos : 検索開始位置を示す整数。省略した場合は 0(ゼロ)。
* 検索は大文字と小文字が区別され、最初に見つかった文字列のみが置換されることに注意。


戻り値
置換後の string の値。


サンプル
; 文字列 "甲殻" を "攻殻" に置換する。
(vl-string-subst "攻殻" "甲殻" "甲殻機動隊") 
"攻殻機動隊"
; "Ben" を "Obi-wan" に置換する。
(vl-string-subst "Obi-wan" "Ben" "ben Kenobi") 
"ben Kenobi" 

; vl-string-subst 関数は "Ben" に一致する文字列を発見できないので、置換は行われない。文字列内の "ben" を検索するには、小文字の "b" で始まっていなければならない。

; "Ben" を "Obi-wan" に置換する。
(vl-string-subst "Obi-wan" "Ben" "Ben Kenobi Ben") 
"Obi-wan Kenobi Ben"
; 文字列内には、検索される文字列 "Ben" が 2 つ存在するが、vl-string-subst 関数は最初に現れた文字列のみを置換する。


;"Ben" を "Obi-wan" に置換する。今度は、文字列内の 4 番目の文字から検索を開始する。
 (vl-string-subst "Obi-wan" "Ben" "Ben ¥"Ben¥" Kenobi" 3) 
 "Ben ¥"Obi-wan¥" Kenobi"

; 文字列内には、検索される文字列 "Ben" が 2 つ存在するが、vl-string-subst 関数は 4 番目の文字から検索を開始するように指示されたので、後の "Ben" を発見して置換される。最初の "Ben" は置換されない。

; dwgファイルから拡張子を抜く(手抜き版)
(vl-string-subst "" ".dwg" (strcase (getvar "DWGNAME") T))

関連事項