2013-02-21 95 views
1

如何使用Textile标记清除字符串以获取纯文本?在C#中?将纺织品转换为纯文本

例如,串

Hello! How *do you do* ? 
Y = 3 * X 

..will被转换成:

Hello! How do you do ? 
Y = 3 * X 

我需要任何纺织串,哪里可以找到纺织语法任何标记转换(http://en.wikipedia.org/wiki/Textile_(markup_language)) 。 字符“”只有一个。还有“ *”,“#”,“*#”,“_”,“|”,“h1。”,“h2。”等等。

暂时解决了问题转换纺织字符串为HTML,然后HTML到纯文本。但是坏的不好不好的解决办法

+0

怎么样了'Y = 3 * X'? – spajce 2013-02-21 12:10:36

+0

这是一个示例文本。第一行使用“*”将字符串格式化为“strong”;第二行在数学运算中使用相同的字符。 – riofly 2013-02-22 14:39:17

+0

继承人你的指导'if(row%2){} else {}' – spajce 2013-02-23 03:39:30

回答

0

您可以使用Textile.NET http://textilenet.codeplex.com/这是.NET

一个texttile格式化
+0

是的,我使用它。但是,你现在如何使用Textile.NET将纺织品转换为纯文本? – riofly 2013-02-22 15:12:02

+0

将它转换为html然后转换为文本,这就是我最终做的。 – animaonline 2013-02-22 15:13:20

0
Regex.Replace(str, @"\*(.+)\*", @"$1") 
+0

好的,谢谢,但我需要转换任何纺织字符串,在那里我可以找到纺织语法的任何标记(http://en.wikipedia.org/wiki/Textile_(markup_language))。字符“*”只有一个。还有“**”,“#”,“*#”,“_”,“|”,“h1。”,“h2。”等等。 我暂时解决了将Textile字符串转换为HTML,然后将HTML转换为纯文本的问题。但它不好。 – riofly 2013-02-22 14:41:15

0

林没有真正的正则表达式大师这样的人也许可以做得更好。但..

string result = Regex.Replace(str, "(?<=[A-Za-z])\\*|\\*(?=[A-Za-z])", ""); 

这将取代任何*由-Z preceeded或*后跟一个-Z以 “”