質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

182閲覧

文字列を切り分けたい

lleldigm

総合スコア59

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2020/05/20 05:31

編集2020/05/22 11:11

C#で開発を行っています。文字列の操作で詰まっているのでご教授お願いします

C#

1 2//この文字列をaa、bb、cc、dd、{e,e}、{f,f}と切り分けてListの中に格納したい。 3string text = "aa,bb,cc,dd,{e,e},{f,f}"; 4 5List<string> result; 6

試したこと
・string.splitを使ってみる
→途中でデリミタを変更できないため×
・string.substringを使ってみる
→textの文字数が変わると対応でき為×

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2020/05/20 05:41 編集

正規表現でもできますし、文字を頭から見て行ってフラグ管理をすることでもできます。一度カンマで区切った後カッコを見てつなぐことでもできます。カッコを " に置換して CSV ライブラリを使うことでもできます。
lleldigm

2020/05/20 06:30

・文字を頭から見て行ってフラグ管理 これはどういったやり方になるんですか?
Zuishin

2020/05/20 06:42

{ でフラグを立て、} でフラグを下ろし、フラグの状態で処理を変えます。
退会済みユーザー

退会済みユーザー

2020/05/20 07:48

> //この文字列をa、b、c、d、{e,e}、{f,f}と切り分けてListの中に格納したい。 aa、bb、cc、dd ではなくて a、b、c、d なんですか?? "aa,bb,cc,dd,{e,e},{f,f}" から "aa" "bb" "cc" "dd" "{e,e}" "{f,f}" という 6 つの文字列を作って、それを List<string> に格納したいのではないのですか?
lleldigm

2020/05/20 08:46 編集

SurferOnWwwさん 誤字でした!修正しました。ありがとうございます Zuishinさん ありがとうございます!そのやり方も検討してみます。
guest

回答1

0

ベストアンサー

正規表現にてCSVを読み込むサンプルを参考にされてはどうでしょうか?
こういったサンプルであれば、カンマ区切りだけども""で囲まれたものは無視するといった形のものを解説していますので、""{}に変更すれば利用できるかと思います。

投稿2020/05/20 05:43

YAmaGNZ

総合スコア10296

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lleldigm

2020/05/20 06:33

回答ありがとうございます。正規表現のことをすっかり忘れてました。とはいえ、全然知識がないので、参考サイトを見ながら作ってみます
lleldigm

2020/05/22 11:09 編集

間違えた書き込みです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問