C# 选择粗体文本

C# 选择粗体文本,c#,winforms,richtextbox,richtext,C#,Winforms,Richtextbox,Richtext,我只需要选择winform应用程序中RichTextBox中的粗体文本,然后将其括在括号内: 例如:Rollup Action元素描述了应该应用于集群活动的所需操作,该集群活动定义了Rollup规则粗体文本将变成:[Rollup Action][Rollup Rule]。谢谢。一种解决方案是使用Regex查找粗体文本,并用相同的内容替换它,但添加了括号: richTextBox.Rtf = Regex.Replace(richTextBox.Rtf, @"\\b ((\w| )*)", Re

我只需要选择winform应用程序中RichTextBox中的粗体文本,然后将其括在括号内:
例如:
Rollup Action元素描述了应该应用于集群活动的所需操作,该集群活动定义了Rollup规则

粗体文本将变成:

[Rollup Action][Rollup Rule]
。谢谢。

一种解决方案是使用Regex查找粗体文本,并用相同的内容替换它,但添加了括号:

  richTextBox.Rtf = Regex.Replace(richTextBox.Rtf, @"\\b ((\w| )*)", RegExSample.AddBrackets);
以及MatchEvaluator:

public class RegExSample
{
      public static string AddBrackets(Match match)
      {
           return String.Format("[{0}]", match.Value);
      }
}
您的样本的输出为:

[Rollup Action]元素描述了 应该采取的预期行动 应用于以下群集活动: 定义[汇总规则]


您还可以更新正则表达式,以确保它在所有情况下都正常工作。

winforms,很抱歉我没有提到这一点。在结果文本中,您只需要带括号的粗体文本或所有文本,只需将括号添加到粗体文本中即可。我需要将带括号的所有文本添加到粗体段中。谢谢Adrian,它可以正常工作。但是,当粗体与另一种格式(例如斜体)组合时,它将继续进行下一次匹配。是否有包含所有格式可能性的表达式?