2

段落の終わりを見つけるにはどうすればよいですか (TextBox のユーザーが ENTER を入力する場所)。それを行うための正しい正規表現は何ですか? 私はこのコードを使用しています:

    Protected Function MakeParagraph(ByVal txt As String) As String
    Dim regx As New Regex("/n", RegexOptions.IgnoreCase)        
    Dim matches As MatchCollection = regx.Matches(txt)

    For Each Match As Match In matches
        txt = txt.Replace(Match.Value, "<br/>")
    Next        
    Return txt
End Function

Protected Sub Button1_Click(sender As Object, e As EventArgs)
    Label1.Text = MakeParagraph(TextBox1.Text)
End Sub
4

2 に答える 2

1

ここで正規表現を使用する必要はまったくありません。すべての改行を<br/>次のように置き換えるだけです。

Protected Function MakeParagraph(ByVal txt As String) As String
    Return txt.Replace(vbCrLf, "<br/>")
End Function

ところで、HTML を作成したい場合 (やりたいようです)、改行を置き換える前に、テキストをHTML エンコードすることを忘れないでください。

于 2013-03-01T15:08:08.773 に答える
0

なぜ正規表現を使用する必要があるのですか? 次のようなことはできませんでした:

Protected Sub Button1_Click(sender As Object, e As EventArgs)
    Label1.Text = TextBox1.Text.Replace(vbNewLine, "</br>")
End Sub

また、各段落を分割して、次の方法で作業することもできます。

Protected Sub Button1_Click(sender As Object, e As EventArgs)
    Dim Paragraphs() as String = TextBox1.Text.Split(vbNewLine)
    For Each Paragraph in Paragraphs
        'Do something with the paragraph ex:
        'Label1.Text &= Paragraph & "</br>"
    Next        
End Sub
于 2013-03-01T15:05:28.960 に答える