我正試圖在C#應用程序中創建自己的Markdown版本來創建Word文檔。對於粗體/斜體/下劃線,我將分別使用**
/`
/_
。我創建的東西,通過提取和匹配使用這樣的解析輸出粗體文字的**
的組合:C# - 實現Markdown到Word(OpenXML)
RunProperties rPr2 = new RunProperties();
rPr2.Append(new Bold() { Val = new OnOffValue(true) });
Run run2 = new Run();
run2.Append(rPr2);
run2.Append(new Text(extractedString));
p.Append(run2);
我的問題是,當我來到結合三種不同的格式,我想我將不得不權衡所有不同的格式組合,並將它們分成單獨的運行。大膽的運行,粗體斜體運行,運行下劃線,粗體下劃線運行等等等等,我想我的程序能夠處理這樣的事情:
**_Lorem ipsum_** (creates bold & underlined run)
`Lorem ipsum` dolor sit amet, **consectetur _adipiscing_ elit**.
_Praesent `feugiat` velit_ sed tellus convallis, **non `rhoncus** tortor` auctor.
基本上你可以扔在它的風格任意搭配,我希望它處理。然而,如果我以編程方式生成這些運行,我需要在將文本設置爲運行之前權衡一切,我是否應該爲每個樣式處理一個字符索引數組,並將它們合併到一個大樣式列表中(不確定我是多麼的精確會做到這一點)?
最後的問題是這樣的事情是否已經存在?如果是這樣,我一直無法找到它(單詞減號)。
我的問題基本上是你如何真正實現呢?將所有大膽的東西分開很容易,而且自己分割斜體也很容易。但是當考慮斜體/粗體/下劃線/粗體+斜體/粗體+下劃線/斜體+下劃線/斜體+粗體+下劃線的組合時,我該如何區分我的字符串? – danbroooks
我已將簡單的代碼添加到我認爲您需要的內容中。看一看。 – Vadim