2016-07-12 24 views
1

Ich erwarte, einen Text als String-Eingabe in C# wie unter BEFORE_Processing Titel. Dieser Text muss formatiert werden, so dass:Parsing verschachtelten CSS-formatierten Text in C#

  1. Die nackten Sätze ohne Stil-Tag (z Satz 1) muss ein Style-Tag erhalten, um den ganzen Satz fett werden zu lassen.
  2. Die Sätze, die bereits ein style-Tag haben, müssen identifiziert werden und ihr Vordergrundfarbelement muss als "fg: Red" gesetzt werden, damit der ganze Satz in ROT aussieht.
  3. Die Sätze, die bereits ein style-Tag haben, könnten geschachtelte style-Tags haben. Also, das muss berücksichtigt werden.

Als Beispiel, nachdem die Formatierung aussehen Satz in BEFORE_PROCESSING Titel wie der Text unter AFTER_PROCESSING abgeschlossen sollte.

Meine Frage ist, was wäre der effizienteste Weg, um dieses Textverarbeitungsgeschäft in C# zu realisieren? Wäre es eine Regex-Anwendung oder eine Überforderung? Würdest du denken, dass eine bessere Alternative existiert? Vielen Dank.

(Ich bin mit 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

Sie können es mit einem regulären Ausdruck erstellen. Ist "**" die Zeilenumbrüche? –

+0

Es tut mir leid, dass diese Sterne überflüssig waren und versehentlich hinzugefügt wurden. Ich habe sie entfernt. –

+0

Kannst du Satz 1 Satz 2 haben? Waht ist der Endcharakter für die Sätze? Oder können wir das