我想要附加到richtextbox。我可以追加,但在找到这个词之后,它会继续追加多次。我想要做的是找到关键字,选择文本,然后只附加到richtextbox一次。这是代码:
var Reg = new Regex(@"(\<\?)");
var Matches = Reg.Matches(text);
if (Matches.Count > 0)
{
foreach (Match mOne in Reg.Matches(text))
{
this.richTextBox1.Select(mOne.Groups[1].Index + firstCharIndex, mOne.Groups[1].Length);
this.richTextBox1.SelectionColor = Color.Azure;
this.richTextBox1.AppendText("?>");
}
}
如何选择我的文字并在选择后只追加一次?
答案 0 :(得分:1)
var Reg = new Regex(@"(\<\?)");
var Matches = Reg.Matches(text);
if (Matches.Count > 0)
{
var mOne = Matches.OfType<Match>().First();
this.richTextBox1.Select(mOne.Groups[1].Index + firstCharIndex, mOne.Groups[1].Length);
this.richTextBox1.SelectionColor = Color.Azure;
this.richTextBox1.AppendText("?>");
}
答案 1 :(得分:0)
添加
break;
追加后。
答案 2 :(得分:0)
为什么要找一个复杂的答案:
String result = Regex.Replace(input, @"(\<\?)", "$1" + textToAppend);
&#34; $ 1和#34;代表正则表达式的第一组。 在正则表达式中,一个组是一对括号
它会在比赛后直接追加文字
如果您的输入字符串是:"<?php"
结果内容为:"<??>php"