Forums: 一般話題(質疑・要望等) (Thread #41974)

質問:正規表現でCSVファイルのフィールド4を,数字の列と数字以外の列に区分したい。 (2020-03-10 08:04 by sakurapedia #84491)

フィールド4に「数字と漢字」があります。
1,2,3,値段A,5,6
1,2,3,400,5,6
1,2,3,値段B,5,6
1,2,3,700,5,6

1,2,3,値段A,,5,6
1,2,3,,400,5,6
1,2,3,値段B,,5,6
1,2,3,,700,5,6
よろしくお願いします。
(Last Update: 2020-03-10 08:07 by sakurapedia)

Reply to #84491×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

Re: 質問:正規表現でCSVファイルのフィールド4を,数字の列と数字以外の列に区分したい。 (2020-03-10 20:40 by AC #84495)

知恵袋で質問した方がいいでしょうね。

置換前「^([^,]*),([^,]*),([^,]*),(?:([^\d,]+)|(\d*))」
置換後「$1,$2,$3,$4,$5」
※カギ括弧は無視すること。
※実際の CSV の内容によりカスタマイズが必要。

サクラエディタでは正規表現 DLL が差し替え可能です。
おそらく bregonig.dll を使用していると思いますが、
Bregexp.dll for SAKURA の場合は使える正規表現が異なります。
検索ウィンドウか置換ウィンドウを表示するとどちらが有効か、
あるいはどちらも無効か、確かめられます。
上のパターンは bregonig.dll で試しています。

1,2,3,5,6 というフィールド値は明らかにダミーですが
CSV には方言が多いらしく、ダミーから正規表現パターンは作れません。
匿名掲示板でこういう回答が与えられるのを見ました。
  置換前「^(1),(2),(3),(?:([^\d,]+)|(\d*))」
  置換後「$1,$2,$3,$4,$5」
与えられた条件からはこれも間違いではないわけです。
他人にはわかりません。引用符のあるなしもわかりません。
Best Answer Reply to #84491

Reply to #84495×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

Re: 質問:正規表現でCSVファイルのフィールド4を,数字の列と数字以外の列に区分したい。 (2020-03-11 19:29 by sakurapedia #84515)

Reply to #84515×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

Excelでチャレンジしてみた。 (2020-03-13 23:39 by sakurapedia #84536)

(参考)Excelのワークシート関数で正規表現を使う
https://qiita.com/ktyubeshi/items/74228f18498224c7427d
"’=IFERROR(REGEXP(D1, ""\d+""),"""")"
"’=IFERROR(REGEXP(D1, ""\D+""),"""")"
Reply to #84515

Reply to #84536×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

Re: Excelでチャレンジしてみた。 (2020-03-13 23:49 by sakurapedia #84537)

ダブルコーテーションが多い。増えた?
Reply to #84536

Reply to #84537×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login