VB2008の文字列の操作について
プログラムを最近、始めなければならなくなった初心者です。
一行の長い文字列を指定の文字数で分割するプログラムを書かなければならないのですが。どうしても文字数がずれてしまいます。
webを参考に下記のようなプログラムを書いてみました。
Public Class Form1
Public NN As Long = 1
Dim sR As New IO.StreamReader("C:\testtex.DAT",System.Text.Encoding.GetEncoding("shift_jis"))
Dim AR As String, AT As String
AT = sR.ReadToEnd
NN = NN + 指定文字数
AR = Strings.Mid(AT, NN, 指定文字数)
TextBox1.Text = AR
sR.Close()
文字列は(Shift_jis)型のようです。データの無い部分にはスペースが含まれています。これが原因かは分かりませんが
Left関数や、Mid関数を利用して分割する方法では文字数がずれてしまいます。
Textpad等のテキスト編集アプリを利用して文字数を調べたところ文字数と桁数に違いがあるようです。
文字数と桁数の違いに何かあるような気がするのですが検索してもそれらしきがみつかりません。
LenやLengthで全体の文字数を調べてみたところ全体の文字数もずれているようです。(指定文字数の倍数にならない。TextPadで調べた桁数と1違います。)
.DATという拡張子ですが、送られてくるデータがDATという拡張子で送られてくるため原因かもしれないのでそのままにしています。
指定文字数ごとに分割することは可能なのでしょうか。可能であればどのような方法でもいいのでご教授ください。よろしくお願いします。
お礼
ありがとうございます! こんな便利な関数があるなんて知りませんでした。 もっと勉強してみたいと思います。