文字列

IDL_String

IDL 8.4 で追加された IDL_String クラスを使うことで、以前よりも文字列処理を簡単に行うことができる場合がある。

文字列中に含まれる特定の文字列を別の文字列に置換する。

  1. str = "output file.eps"
  2. PRINT, str.Replace(' ', '-')
  3. PRINT, str.Replace('OUTPUT', 'INPUT',/FOLD_CASE) ; FOLD_CASE キーワードを指定すると大文字・小文字を区別しない

正規表現(先読み・後読みには未対応)に最初にマッチした部分文字列を取り出す(stregex関数に相当)。

  1. str = "DATA20170503.ps2"
  2. PRINT, str.Extract('[0-9]{8}')
  3. PRINT, str.Extract('([0-9]{4})([0-9]{2})([0-9]{2})', /SUBEXPR) ; SUBEXPRキーワードを指定すると、マッチした全体に加えて、括弧で囲んだグループ化した文字列も文字列型の配列で得る
  4. PRINT, str.Extract('^data[^.]*',/FOLD_CASE) ; FOLD_CASE キーワードを指定すると大文字・小文字を区別しない

雑多なメモ

西田圭佑 (NISHIDA Keisuke)
nishida at kwasan.kyoto-u.ac.jp