Csvに含まれる改行を除去してデータテーブルへ格納したい

1 性別|名前|年齢
2 男|佐藤|"25"
     太郎

上記の「佐藤 太郎」のように、1行の中で改行される文字列が含まれるデータがあります。

このデータを別のcsvへ追記するのですが、追記の際に以下のように改行部分で行が変わってしまいます。

1 性別|名前|年齢
2 男|佐藤
3 太郎|"25"

これを解消するために、データテーブルの出力+正規表現+文字列追記を行ってみたのですが、これをするとヘッダーデータも一緒に毎回追記されてしまい、以下のようなcsvデータになってしまいます。

1 性別|名前|年齢
2 男|佐藤太郎|"25"
3 性別|名前|年齢
4 女|鈴木良子|"30"

ヘッダーの追記は行わず改行コードを除去するにはどうしたら良いでしょうか?

@111860

結合を使用して、csvの文字列を結合できます

質問を途中で送ってしまいました。
ご回答いただいた方申し訳ございません。

@111860

問題が解決した場合は、将来の参照用の解決策としてマークを付けます。

改行コードで結合するのでしょうか?
具体的な方法をご教示いただけますでしょうか。

こんにちは

まず上記はすべてテキストファイルの内容でしょうか?(特に一番上の内容)

これを解消するために、データテーブルの出力+正規表現+文字列追記を行ってみたのですが、これをするとヘッダーデータも一緒に毎回追記されてしまい、以下のようなcsvデータになってしまいます。

追記するデータの一行目を削除できれば良いですか?そうであれば、以下で1行目は削除されます。

System.Text.RegularExpressions.Regex.Replace(yourString,"^.*\n","")
1 Like

DataRow型(一番上の内容)をcsvへ追記になります。

誠に申し訳ないのですが、

この部分について勘違いしており、これをやっても改行が残っていました。

正規表現の部分は下図になります。


この内容をどのように修正すれば改行コードを除去した上で1行目のヘッダーも削除できますでしょうか。

一転してしまいすみません。

こんにちは

DataRow型(一番上の内容)をcsvへ追記になります。

そうであればDataRowの段階で不要な改行を削除すれば良いように思えます。対象は名前列だけで良ければ

row("名前") = row("名前").ToString.Replace(vbCR,"").Replace(vbLF,"")

確かにそうですね。
JsonからDataRowへ格納するようになっていましたので、DataRowへ代入していく時点でいただいたコードを代入したら無事改行が消えました!
ありがとうございます。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.