テキストの改行

タグの編集
投稿者 うな  (学生) 投稿日時 2011/1/14 02:53:26
テキストファイルを読み込み、任意の文字数で改行を行いたいのですがどのようにすればよいのでしょうか?
たとえば↓のようなテキストを5文字ごとに改行しテキストボックスに表示したいです。
あいうえおかきくけこさしすせそ

ファイルの読込は以下のように作成しましたが、この後の処理がわかりませんでした。

Private Sub button1_Click(ByVal sender As System.Object, _
                              ByVal e As System.EventArgs) Handles btnAuto.Click

        '[ファイルを開く]ダイアログボックスの表示
        dlgOpen.InitialDirectory = Application.StartupPath & "\..\..\.."
        If dlgOpen.ShowDialog() = DialogResult.Cancel Then
            txtTitle.Text = ""
            Exit Sub
        End If

        txtTitle.Text = dlgOpen.FileName
        'ファイルを開く
        fileNo = FreeFile()
        FileOpen(fileNo, dlgOpen.FileName, OpenMode.Input)
投稿者 匿名  (社会人) 投稿日時 2011/1/14 10:16:10
先頭から5文字を取り出して改行し、次の5文字を取り出す、という作業を処理する文字列が
なくなるまで繰り返すことになります。


投稿者 南場智子  (社会人) 投稿日時 2011/1/14 21:50:17
うなさんは普通の改行はできりゅのかにゃ~?
メッセージボックスに改行した文章とか表示できりゅかにゃ?

あと、あとあと、あとね、文字をとりだす構文はかけるかにゃ?


基礎を一生懸命にがんばるにゃ。

投稿者 よねKEN  (社会人) 投稿日時 2011/1/14 23:41:37
オーソドックスなやり方は匿名さんの書かれている通りなので、
正規表現を使ったやり方を書いてみました。参考までに。

.NET Frameworkの正規表現については以下を参照してください。
http://msdn.microsoft.com/ja-jp/library/hs600312(v=VS.80).aspx
http://msdn.microsoft.com/ja-jp/library/az24scfc(v=VS.80).aspx

  
Imports System.IO
Imports System.Text
Imports System.Text.RegularExpressions

' Button1、TextBox1(MultiLine=True)、OpenFileDialog1をあらかじめ配置しておきます。 
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles Button1.Click
        If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
            Dim text As String = File.ReadAllText(OpenFileDialog1.FileName, Encoding.Default)
            text = Regex.Replace(text, "(\r|\n)""")   ' テキストファイルに含まれる元々の改行は除くのか?(←除く想定なら記述) 
            TextBox1.Text = Regex.Replace(text, "(?<五文字>.{1,5})""${五文字}" & Environment.NewLine)
        End If
    End Sub
End Class

投稿者 うな  (学生) 投稿日時 2011/1/24 10:33:51
返信が遅くなって申し訳ありません。

匿名さん、南場智子さん、よねKENさんアドバイスありがとうございました。
南場智子さんの言うとおり基礎からしっかり勉強したいと思います。