2012-04-19 11 views
0

私は解析する必要のある中国語のファイルを持っています。各投稿にはフィールド間に奇妙な区切り記号があり、フィールドを分離しようとしていますが区切り文字を認識できません。スペース区切り文字でファイルを解析する

Dim stringSplitter() as string = {" "} 
Try 
    sampleResults = entry.Split(stringSplitter,StringSplitOptions.RemoveEmptyEntries) 

..... 

投稿内容のサンプル。

108087006686338t.qq.com/GAOCHUANG8899homeGAOCHUANG8899homehttp://t.qq.com/p/t/1080870066863382012-03-22 04:49:46 

セパレータは数字108087006686338 DELIMITTER t.qq.com/GAOCHUANG8899homeの第一のセットの後に開始します。私は最初、jsonを使って分割することができると考えましたが、これは間違いなくjson形式ではありません。

申し訳ありませんこの投稿を作成すると、元に投稿すると区切り記号が消えます。

[OK]を、私は01のように文字の16進値を識別し、それは期間のように見えますが、期間は2Eの値を持つバイナリエディタを使用して:delimitterは長方形のブロック

EDITのように見えます。これは誰にとっても意味がありますか?

EDIT:

は疑問を再現:私は進値に基づいて文字列を分割することができます。値が "01"の場合、その値に基づいてどのように文字列を分割しますか?

EDIT:

最終的な答え: `

Dim hvalue as Char = Char(1) 
Dim stringSplitter() as string = {hvalue} 
+0

サンプル内容の '6338'と' t.qq.com 'の間に文字がありません。データが区切られていますか?おそらくフィールドは位置に基づいています。 –

+0

申し訳ありません。貼り付けることなくオリジナルを表示するにはとにかくあります。私は自分のコードでスペース文字を使用してみましたが、それはdatetimeで文字列を分割します – vbNewbie

+0

コードとしてフォーマットします。スペースを確保します。 –

答えて

1

のは、あなたが01のASCIIコードで入力$inputとdelimitterがあるとしましょう。

たPerl:

my $input = ... 
my @output = split(chr(01), $input); 
print "$_\t" for @output; # print all items 

コード上記のように、あなたは

$output[0] # first item 
$output[1] # second item 
... 
$#output + 1 # number of items 

のVisual-Studioの-2010を経由してアイテムにアクセスすることができ、あなたの$input@outputに配列を分割します:

Dim hvalue as Char = Char(1) 
Dim stringSplitter() as string = {hvalue} 
+0

本当にありがとう。ありがとう。それを働かせた – vbNewbie

関連する問題