Acet-str-replace

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(acet-str-replace find replace inString [ caseInsensitive [ useRegExp [ count ]]])


機能
文字列inString内の文字列 find を文字列 replace に置き換えた結果の文字列を返す。


引数
  • find … inString内の置換前文字列
  • replace … oldstrを置換する文字列
  • inString … 評価する文字列
  • caseInsensitive … nil でない場合、大文字小文字を区別しない置換が実行される。
  • useRegExp … nilでない場合、検索に正規表現を使うことを示す。使える正規表現の内容は下の記述を参照
  • count … 文字列の置換を行う回数。countが 0 または指定されていない場合は、すべての文字列が置換される。


戻り値
文字列inString内の文字列 find を文字列 replace に置き換えた結果の文字列


useRegExp=T 時に使用できる正規表現

  • . (ドット) : 任意の1文字を置き換える。
  • * (アスタリスク) : 前の連続した文字を置き換える(0回以上の繰り返し)
  • + : 前の連続した文字を置き換える(1回以上の繰り返し)
  • ^ : inString の先頭にマッチする。
  • $ : 文字列の末尾にマッチする(マッチはinStringの先頭でのみ受け付ける)
  • [charset] : 与えられたクラスの任意の文字にマッチする。最初の文字が ^ の場合は、指定されたクラス以外の文字にマッチする。大文字のアルファベットを指定するには [A-Z] のように、最初と最後を指定して文字の範囲を指定することができる。
  • \( : 部分式の開始を示す。
  • \):部分式の終わりを示す。
  • \digit : n番目の開始括弧内の部分式でマッチしたテキストの繰り返しにマッチする。部分式は置換文字列の中で参照することもできる。


サンプル
(acet-str-replace  "表" "裏" "表飯屋" )
"裏飯屋"

(acet-str-replace  "," "" "1,2,3,4,5,6,7,8,9,")
"123456789"

(acet-str-replace  "all" "few" "ALL ASTR" T)
"few ASTR"


(acet-str-replace  "[0-9]" "0" "123456789" T T)
"000000000"


; タグ付きは無いのでこういうのはできない
(acet-str-replace  "([0-9]{4})/([0-9]{2})/([0-9]{2})" "$3 $2 $1" "2013/08/26" nil T)
"2013/08/26" ;期待される結果 "26 08 2013"



関連事項