• ベストアンサー

改行をsplitで分けたい

改行をsplitで分けたいと思っています。 そこで、改行コードを選択するのですが・・・ vbCR ,vbLF ,vbCRLFのどれを選べばいいのでしょうか? もちろん改行コードは環境によって違うのはわかっています。 ウィンドウズのaccessなので、vbCR ,vbCRLFとで試してみました。 すると、どちらも問題無く分けることが出来ました。 しかし、きになるので・・・ 何か、改行で分けるときの定石みたいなのがあればお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

定数 文字コード vbcr chr(13) vblf chr(10) vbcrlf chr(13) & chr(10) です 三つが混在する場合に あるテキスト= "vbcr,vblf,vbcrlf" (,は見やすくするために入れてます) replace(あるテキスト,vblf,vbcr) → "vbcr,vbcr,vbcrvbcr" さらにそれを replace("あるテキスト,vbcrvbcr,vbcr) → "vbcr,vbcr,vbcr" それからSplit。どの定数にまとめるかはお好みで。 vbcr と vbcrlf 混在の場合にも、Split(・・,vbcr)で分割しただけでは 目には見えませんが、vblf 『chr(10)』のカスが残ります。 定石かどうかは? vblf chr(10) はExcelのセル内改行で使われています。

a-z_A-Z
質問者

お礼

ありがとうございます。 replace(あるテキスト,vblf,vbcr) replace("あるテキスト,vbcrvbcr,vbcr) の2段階処理ってことですよね? やっぱり聞いてよかったです。 確かに、これだとすっきりした気持ちで日々を暮せそうです。 >目には見えませんが、vblf 『chr(10)』のカスが残ります。 目に見えなければ、いいかな?って思いますが、何か困る事ってありますか? 確か、場合によったら「・」が出たようなきがしますが・・・

その他の回答 (2)

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.3

例えば、Left関数などで切り出したい時にずれる 文字列の比較時に同じはずなのに?? グループ化した時に仲間外れに、などが考えられます。 ・は、ASCII 文字セット について調べてみてください。

a-z_A-Z
質問者

お礼

ありがとうございます。 >文字列の比較時に同じはずなのに?? 確かに、これは悩みます。 もしこれに遭遇していたら、半日は悩むところでした。 大変参考になりました。 ありがとうございました。

  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.1

定石-簡単なデータをいくつか作ってバイト単位で何が入っているから調べて、余分なデータが残る可能性を排除しておく。 (ま、逆に言うと正しく動けばいいってことですね。)

a-z_A-Z
質問者

お礼

ありがとうございます。 >ま、逆に言うと正しく動けばいいってことですね。 素晴らしい言葉をありがとうございます。 とはいえ、実際は、後でバグに気づき慌てることになるのですが・・・

関連するQ&A