1

这是我目前的正则表达式:\[b\](.*?)\[/b\]

这工作得很好,它完全取代了我想要的。但是,我试图弄清楚如何[b][/b]用粗体字符串替换字符串之间的字符串,但实际文本保持不变。

示例字符串:[b]This is an example![/b]

期望的输出:这是一个例子!

我正在使用 VB.NET,这就是我目前拥有的:

Dim reg As New Regex("\[b\](.*?)\[/b\]")
Dim str As String = String.Empty
For Each m As Match In reg.Matches(MainBox.Text)
  str = reg.Replace(MainBox.Text, "test")
Next

Preview.Show()
Preview.RichTextBox1.Text = str
Preview.Size = New Size(Preview.MaximumSize.Width, Preview.MaximumSize.Height)
4

1 回答 1

1

您需要设置选择的开始,并在插入之前设置文本的属性。

Preview.RichTextBox1.SelectionStart = Preview.RichTextBox1.Text.Length
Preview.RichTextBox1.SelectionFont = New Font("Tahoma", 12, FontStyle.Bold)
Preview.RichTextBox1.SelectedText = str
于 2012-05-11T02:31:38.887 回答