アプリ版:「スタンプのみでお礼する」機能のリリースについて

このジャンルでお願いします。

Splitを使って
{"{"abc"},{"abc"}"},{"color",{"abc"},{"abc"}"}

{"{"abc"},{"abc"}"}と{"color",{"abc"},{"abc"}"}
の2つに分割したいのですが、次のようなやり方だと分割ができないようです・・・

string s = "{\"{\"abc\"},{\"abc\"}\"},{\"color\",{\"abc\"},{\"abc\"}\"}";
string[] list = Regex.Split(s, "},{\"[^(abc)]");

どのように記述をすれば良いのでしょうか?

質問者からの補足コメント

  • 配列を使って解決することができました。

    No.1の回答に寄せられた補足コメントです。 補足日時:2020/09/09 18:04

A 回答 (3件)

・「分割」の厳密な定義


・使うことのできる正規表現
がわからんと何ともならんなぁ.
    • good
    • 0

よくみるとJSONデータというわけでもないのですね


もし私がやるなら、{"から"}で最短マッチするものを別のものに変更するとかかなぁ・・・
あとはプログラム側で{の数と}の数を前から順に数えて合致したところで
分割するとか・・・いずれにしろ正規表現ではないですね
    • good
    • 0

Cでの処理は微妙ですが、配列やオブジェクトに展開して分割して戻すのではいけないのですか?


正規表現は入れ子処理が結構苦手です
この回答への補足あり
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
たしかに正規表現にこだわる必要はなく、
「},{」で分割(ただし後述が「”abc」の場合は除く)できれば良いのですが、
yambejpさんが仰る方法だと具体的にどのような処理になるのでしょうか?

お礼日時:2020/09/09 14:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!