データ加工「文字列変換(部分一致)」は、正規表現と組み合わせて設定すると、読み取った文字列を複雑な条件下で変換し、CSVに出力することができます。
本記事では、データ加工「文字列変換(部分一致)」を使った正規表現の一例をご案内します。
正規表現とは、文字列の中から特定のパターンに一致する部分を操作するための技術的な手法の1つとなり、DX Suite 自体の機能ではありません。 本記事にてご案内している記述は、あくまで一例となります。 |
指定文字以降のみを出力したい
正規表現 ※赤い字がメタ文字 |
サンプル | 出力イメージ | 設定例 | |
変換対象文字列 | 変換後文字列 | |||
^.*特定の文字列 | AB以降の文字のみを出力したい |
あいうAB123 ↓ AB123 |
^.*AB | AB |
指定文字で分割したい
正規表現 ※赤い字がメタ文字 |
サンプル | 出力イメージ | 設定例 | |
変換対象文字列 | 変換後文字列 | |||
(^\D{1,桁数})(\d{1,桁数})([あ-ん])(\d{1,桁数}$) |
車番号(品川000あ00-00)の文字列に「|パイプライン」を入れて分割する |
品川000あ00-00 ↓ 品川|000|あ|00-00 |
(^\D{1,4})(\d{1,4})([あ-ん])(\d{2}\-\d{2}$) | $1|$2|$3|$4 |
(^\d{桁数}-\d{桁数})(.*$) | 郵便番号と住所を別々の列に分けたい | 110-0015東京都台東区東上野2-16-10 ↓ 1列目:110-0015 2列目:東京都台東区東上野2-16-10 |
(^\d{3}-\d{4})(.*$) | $1|$2 |
(^.*文字列|^文字列|^文字列|^文字列|^文字列)(.*$) |
■住所記載の都道府県を別々の列に分けたい |
千葉県千葉市中央区市場町1-1 東京都新宿区西新宿2丁目8-1 |
(^.*県|^東京都|^大阪府|^京都府|^北海道)(.*$) | $1|$2 |
※データ加工「指定文字による分割」の「分割文字列」に「|」を指定して、列を分けてください。
※ 正規表現では、1つ目の括弧は$1、2つ目の括弧は$2・・・のように表現されます。
指定文字を除去したい
正規表現 ※赤い字がメタ文字 |
サンプル | 出力イメージ | 設定例 | |
変換対象文字列 | 変換後文字列 | |||
$ | 様を除去 |
山田太郎 様 ↓ 山田太郎 |
様$ | (空白のまま) |
指定文字までの文字列のみ出力したい
正規表現 ※赤い字がメタ文字 |
サンプル | 出力イメージ | 設定例 | |
変換対象文字列 | 変換後文字列 | |||
(^\d{1,}文字列)(.*$) | 円までの文字を出力したい(円未満を切り捨てたい) |
12円50銭 ↓ |
(^\d{1,}円)(.*$) | $1 |
※ 正規表現では、1つ目の括弧は$1、2つ目の括弧は$2・・・のように表現されます。
指定文字から始まる文字列を含む場合、文頭に特定の文字列を挿入したい
正規表現 ※赤い字がメタ文字 |
サンプル | 出力イメージ | 設定例 | |
変換対象文字列 | 変換後文字列 | |||
(^文字列)(.*$) | 大阪市から始まり、大阪府がついていない住所に「大阪府」をつける |
大阪市西区 ↓ 大阪府大阪市西区 |
(^大阪市)(.*$) | 大阪府大阪市$2 |
(^数値月|^数値月|^数値月)(.*$) |
1月、2月、3月から始まる文字の場合、文頭に2023年と追加したい |
1月 ↓ 2023年1月
↓ 2023年2月 ↓ 2023年3月 ↓ 4月 |
(^1月|^2月|^3月)(.*$) | 2023年$1$2 |
※ 正規表現では、1つ目の括弧は$1、2つ目の括弧は$2・・・のように表現されます。
特定の桁数毎に特定の文字列を挿入したい
正規表現 ※赤い字がメタ文字 |
サンプル | 出力イメージ | 設定例 | |
変換対象文字列 | 変換後文字列 | |||
\B(?=(\d{桁数})+(?!\d)) | 数値に対して3桁毎に「,」(カンマ)を挿入する |
1000000 ↓ 1,000,000 |
\B(?=(\d{3})+(?!\d)) | , |
1行目と2行目の間に特定の文字列を挿入したい
正規表現 ※赤い字がメタ文字 |
サンプル | 出力イメージ | 設定例 | |
変換対象文字列 | 変換後文字列 | |||
\n | 1行目と2行目の間にスラッシュを入れたい |
東京都渋谷区渋谷3-8-12 渋谷第一生命ビルディング4階 ↓ ・/(スラッシュ)を入れる場合 東京都渋谷区渋谷3-8-12/渋谷第一生命ビルディング4階 |
\n | \n/ |
改行以降の文字列を削除したい(2行目以降を削除したい)
正規表現 ※赤い字がメタ文字 |
サンプル | 出力イメージ | 設定例 | |
変換対象文字列 | 変換後文字列 | |||
(^.*)(\n)(.*$) | 改行以降の文字を削除する |
東京都渋谷区渋谷3-8-12 渋谷第一生命ビルディング4階 ↓ 東京都渋谷区渋谷3-8-12 |
(^.*)(\n)(.*$) | $1 |
※ 正規表現では、1つ目の括弧は$1、2つ目の括弧は$2・・・のように表現されます。
改行までの文字列を削除したい(1行目を削除したい)
正規表現 ※赤い字がメタ文字 |
サンプル | 出力イメージ | 設定例 | |
変換対象文字列 | 変換後文字列 | |||
(^.*)(\n)(.*$) | 改行までの文字を削除する |
東京都渋谷区渋谷3-8-12 渋谷第一生命ビルディング4階 ↓ 渋谷第一生命ビルディング4階 |
(^.*)(\n)(.*$) | $3 |
※ 正規表現では、1つ目の括弧は$1、2つ目の括弧は$2・・・のように表現されます。
日付以外の文字列を削除したい
正規表現 ※赤い字がメタ文字 |
サンプル | 出力イメージ | 設定例 | |
変換対象文字列 | 変換後文字列 | |||
(^\d{4}年\d{1,2}月\d{1,2}日)(.+$) | 日付のみ出力したい |
2022年03月1日花月町 ↓ 2022年03月1日 |
(^\d{4}年\d{1,2}月\d{1,2}日)(.+$) | $1 |
(^.*)(\d{1,2}\/\d{1,2})(.*$) |
最短納期引日:7/12 ↓ 7/12
7/8 |
(^.*)(\d{1,2}\/\d{1,2})(.*$) | $2 |
※ 正規表現では、1つ目の括弧は$1、2つ目の括弧は$2・・・のように表現されます。
指定した桁以上の数値のみ出力したい
正規表現 ※赤い字がメタ文字 |
サンプル | 出力イメージ | 設定例 | |
変換対象文字列 | 変換後文字列 | |||
^(?!.*\d{桁数,}).+$ | 8桁以上の数値のみ出力 |
1000 ↓ 空白として出力
10000000 ↓ 10000000 |
^(?!.*\d{8,}).+$ | (空白のまま) |
数字以外の文字列を除去したい
正規表現 ※赤い字がメタ文字 |
サンプル | 出力イメージ | 設定例 | |
変換対象文字列 | 変換後文字列 | |||
[^0-9] | 数字以外の文字列を除去 |
請求番号12345 ↓ 12345 |
[^0-9] | (空白のまま) |
整数の桁を減らしたい
正規表現 ※赤い字がメタ文字 |
サンプル | 出力イメージ | 設定例 | |
変換対象文字列 | 変換後文字列 | |||
(^\d{1})(\d{3}$) |
4桁の数値から先頭の1桁を取り出す |
1000 ↓ 1 |
(^\d{1})(\d{3}$) ※4桁の数値を表現する正規表現(1桁、その後の3桁で分ける)です。 |
$1 ※1つ目の()を取り出します。 |
※ 正規表現では、1つ目の括弧は$1、2つ目の括弧は$2・・・のように表現されます。
小数点の誤読を修正したい(カンマに誤読されてしまう)
正規表現 ※赤い字がメタ文字 |
サンプル | 出力イメージ | 設定例 | |
変換対象文字列 | 変換後文字列 | |||
(^*)(\,)(\d{桁数}$) | 下3桁の数値の前の「,」(カンマ)は「.」(ピリオド)に変換する |
1,000,000 ↓ 1,000.000 |
(^*)(\,)(\d{3}$) | $1.$3 |
※ 正規表現では、1つ目の括弧は$1、2つ目の括弧は$2・・・のように表現されます。
小数点以下を削除したい
正規表現 ※赤い字がメタ文字 |
サンプル | 出力イメージ | 設定例 | |
変換対象文字列 | 変換後文字列 | |||
(\.)([\d]{桁数}$) ※小数点以下の桁数を入力 |
小数以下が2桁の数字にて、小数点以下を削除する |
123.45 ↓ 123 |
(\.)([\d]{2}$) |
(空白のまま) |
小数点以下を減らしたい
正規表現 ※赤い字がメタ文字 |
サンプル | 出力イメージ | 設定例 | |
変換対象文字列 | 変換後文字列 | |||
([\d]{桁数}$) ※減らしたい桁数を入力 |
小数以下が5桁の数字を、小数点以下1桁にする |
123.45678 ↓ 123.4 |
([\d]{4}$) |
(空白のまま) |
特定の桁数で小数点を打ちたい
正規表現 ※赤い字がメタ文字 |
サンプル | 出力イメージ | 設定例 | |
変換対象文字列 | 変換後文字列 | |||
([\d]{桁数}$) ※小数点以下の桁数を入力 |
小数点が2桁になるようにしたい |
123 ↓ 1.23 12345 ↓ 123.45 |
([\d]{2}$) | .$1 |
カッコ()を除去したい
正規表現 ※赤い字がメタ文字 |
サンプル | 出力イメージ | 設定例 | |
変換対象文字列 | 変換後文字列 | |||
[\(\)] | 10,000(税抜) |
10,000(税抜) ↓ 10,000税抜 |
[\(\)] | (空白のまま) |