2012-02-07 11 views
1

テキストファイルを解析しようとしています。最初に、各行の補完を行い、次にtasbを検索して各フィールドを抽出します。VB.Netでタブ区切りのテキストファイルを解析する

私がInStrをsercahに使用して\ r(行末を返す)または\ t(タブを使う)の場合、私は常にゼロを得ます。しかし、もし私が5/ を持っているような視覚的な手紙を入れたら、/ r、/ nと\ nはすべてゼロを返します。次のように ファイルが見えます:

 
ID Name 
1 Patient 
2 Bed 
3 PatientSet 
4 BedSet 
5 TriggerSet 
6 Triggering 
7 Panel 

コード

fileReader = My.Computer.FileSystem.ReadAllText("D:\BW\bwdatabase\ContextType.txt") 
    MsgBox(fileReader) 

    Str = fileReader 
    i = InStr(Str, "\r") // i uis zero 
    l = Mid(Str, 0, i - 1) // so this crashes becouse index is -1 
    MsgBo 
+1

使用しているVisual Studio/VBのバージョンは何ですか?あなたが2010へのアクセス権を持ち、イテレータブロックを使用できるならば、私の応答には大きな違いがあります。 –

答えて

1

"\ r" はVBでは動作しません。 \ rは、vbCrを使用します。 \ nの場合はvbLfを使用します。

5

Microsoft.VisualBasic.FileIO.TextFieldParserクラスを使用して調べます。それはあなたのためにすべての重い持ち上げを行います。

+1

+1。 [MSDNチュートリアル](http://msdn.microsoft.com/en-us/library/cakac7e6.aspx)では、カンマからタブに区切り記号を変更するだけで、CSVを読み取る方法を示しています。 VBでは、タブ文字に定数vbTabを使用します。 VBでは\ tを文字列に使用できません – MarkJ

関連する問題