QGISで正規表現を使って属性テーブルを編集する
QGIS上でデータをプロットし、その属性として正式名称を書いたのだが、その正式名称が長いので、短くした名称を追加したいとする。
正式名称のフィールドを"Name"、短くした名称のフィールドを"ShortName"としよう。(いずれもテキスト型)
データのいくつかには、先頭に○○○○という言葉がつき、またいくつかには途中に△△△という単語がつくので、これを削除した名称を短くした名称としたい。
QGISの正規表現は、検索はregexp_match、置換はregexp_replaceを使うようなので、フィールド計算でこういうふうにしてみた。
CASE WHEN regexp_match( "Name" , '○○○○') > 0 THEN regexp_replace( "Name", '○○○○' , '') WHEN regexp_match("Name" , '△△△') > 0 THEN regexp_replace("Name", '△△△' , '') ELSE "Name" END