2016-07-12 29 views
1

我期待在C#中有一个字符串输入文本,如BEFORE_PROCESSING标题所示。本文需要格式化,使得:解析C#中嵌套的CSS样式文本

  1. 裸句,没有任何风格的标签(例如句1)必须得到一个风格的标签,使整个句子变得大胆
  2. 已经有一个样式标签的句子需要被识别,并且它们的前景色元素必须被设置为“fg:Red”,以便使整个句子看起来像RED。
  3. 已经具有样式标签的句子可能具有嵌套的样式标签。所以,这需要考虑。

举个例子,格式化完成后,在BEFORE_PROCESSING标题这句话看起来应该像下AFTER_PROCESSING文本。

我的问题是用C#实现这种文本处理业务的最有效方式是什么?会使用正则表达式还是它的过度使用?你认为可能存在一些更好的选择吗?谢谢。

(我使用C#4)

BEFORE_PROCESSING

"Sentence 1 <style styles='B;fg:Green'>STYLED SENTENCE</style> Sentence 2" 

AFTER_PROCESSING

"<style styles='B'>Sentence 1 </style> 
<style styles='B;fg:Red'>STYLED SENTENCE</style> 
<style styles='B'>Sentence 2</style>" 
+0

你可以用正则表达式来表达它。 “**”是换行顺序吗? –

+0

我很抱歉,那些明星是多余的,并且错误地添加了。我已经删除它们。 –

+0

你可以有句子1句子2吗? Waht是句子的最后一个字符?或者我们可以考虑