• ベストアンサー

テキスト操作で各行の4文字だけを取り除きたいのですが

お世話になります。 760行程度のテキストファイルから 各行の最初の4文字だけを抜き取りたいのですが vb.netでどのようなコーディングをすればよろしいでしょうか? 以下例です。 明日の天気はおおむね晴れです。 ですが、ところどころによっては にわか雨になるでしょう。 おでかけのさいには 傘をもたれたほうがよろしいでしょう。 お気をつけて。 (というテキストファイルがあったとして) 明日の天 ですが、 にわか雨 おでかけ 傘をもた お気をつ というように保存されるようにしたいのです。

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

  • ベストアンサー
  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.2

BLUEPIXYさんのようにはできませんが一例です。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Fline As String Const filename1 As String = "C:\memo.txt" Const filename2 As String = "C:\memo2.txt" FileOpen("1", filename1, OpenMode.Input) FileOpen("2", filename2, OpenMode.Output) Do Until EOF("1") Fline = LineInput("1") Print("2", Microsoft.VisualBasic.Left(Fline, 4) & vbCrLf) Loop FileClose("2") FileClose("1") End Sub

tony_reo
質問者

お礼

いえいえ、めちゃくちゃわかりやすかったです! ありがとうございます。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

'やり方は色々ありますが、1つの方法 Imports System Imports System.IO Imports System.Text Class ExampleClass Shared Sub Main() ' INPUT Dim inp As StreamReader = new StreamReader("input.txt", _ Encoding.GetEncoding("shift_jis")) ' OUTPUT Dim Fs As FileStream = New FileStream("LEFT4.txt", _ FileMode.Create, FileAccess.Write, FileShare.None) Dim out As StreamWriter = _ New StreamWriter(Fs, Encoding.GetEncoding("shift_jis")) Dim oneLine As String Dim left4 As String Do While inp.Peek() >= 0 oneLine = inp.ReadLine() left4 = oneLine.Substring(0,4) out.WriteLine(left4) Loop inp.Close() out.Flush() out.Close() End Sub End Class

tony_reo
質問者

お礼

お返事ありがとうございます。 すみません。僕のスキルでは理解できませんでした。 せっかく教えていただいたのにすみません。

関連するQ&A