我有这个方法替换(粗体)字符串中的一些单词并在ritchtextBox中显示更改的字符串。 在最后的字符串中,我需要用换行符替换@符号。 我已经尝试检查这个论坛绑几个解决方案,但没有任何效果。
我使用的方法是
private string bold(string ing)
{
StringBuilder builder = new StringBuilder();
ing = " " + ing + " ";
builder.Append(@"{\rtf1\ansi");
foreach (string word in splitwords)
{
var regex = new Regex(@"(?<![\w])" + word + @"(?![\w])", RegexOptions.IgnoreCase);
ing = regex.Replace(ing, m => @"\b" + m.ToString() + @"\c0");
}
ing = ing.Replace(@"\b", @"\b ");
ing = ing.Replace(@"\c0", @" \b0");
ing = ing.Replace("@", Environment.NewLine);
builder.Append(ing);
builder.Append(@"}");
MessageBox.Show("builder.ToString():" + builder.ToString());
return builder.ToString();
}
当我调用此方法并将其“放入”ritcTextBox时,它不会打印新行
ingred.Rtf = bold(ingd);
我该如何解决?
编辑::输入字符串 - line1 @ line2 @ line3
消息框中的输出
Builder.ToString() : {\rtf1\ansi\b line1\b0
line2
line3
}
在ritchTextBox中输出:line1 line2 line3
答案 0 :(得分:2)
而不是
ing = ing.Replace("@", Environment.NewLine);
尝试
ing = ing.Replace("@", @"\par\r\n");
答案 1 :(得分:1)
更好地使用Environment.NewLine
添加新行还要确保yourRTB.MultiLine
属性设置为true。将字符串分配给richtext框,如yourRTB.AppendText(t)
答案 2 :(得分:1)
使用此代码进行Repalce
svgandroid
答案 3 :(得分:0)
尝试用SELECT CONCAT([C1], [C2], ...) FROM [dbo.table];
字符序列替换它?
编辑:启用了"\r\n"
的{{1}}属性吗?