【发布时间】:2017-01-13 01:18:06
【问题描述】:
如何完成在标签中提取文本并转换它们的任务?
例子:
输入:
[txtItalic]This is italic[/txtItalic] [txtBold] Bold Text [/txtBold]
输出: 这是斜体 粗体字
我正在使用这段代码来提取标签之间的文本,但问题是它只需要第一个标签的文本
string ExtractString(string s, string tag)
{
var startTag = "[" + tag + "]";
int startIndex = s.IndexOf(startTag) + startTag.Length;
int endIndex = s.IndexOf("[/" + tag + "]", startIndex);
return s.Substring(startIndex, endIndex - startIndex);
}
我想完成什么,以及在 stackoverflow 编辑器中究竟发生了什么......
richTextBox1.SelectionFont = new Font(richTextBox1.Font, FontStyle.Bold);
richTextBox1.AppendText("Bold Text");
richTextBox1.SelectionFont = new Font(richTextBox1.Font, FontStyle.Regular);
richTextBox1.AppendText("Normal Text");
要加粗文本,请使用 **** 和斜体**
【问题讨论】:
-
您可能会阅读 SO 帖子 stackoverflow.com/questions/7377344/how-to-write-a-parser-in-c“如何编写解析器”。我认为对文本解析和语法分析器进行一些研究会对您有所帮助。
-
想要的输出是计划文本还是格式化文本?因为如果是后者,那是特定于 where 之后您将放置该文本的内容。
标签: c# regex winforms replace richtextbox