如何在C#中使用正则表达式提取它

时间:2013-05-03 07:17:44

标签: c# regex outlook-addin expression

我最近在C#中为Outklook制作了一个AddIn。 我开始看到正则表达式。 我有一个文本,如下一个(字符串中的纯文本或txt文件),我必须提取除*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*之后的所有内容,直到单词HelpDesk。如何使用常规函数提取(或者如果不提取“消息”?)?感谢。

案文:

Bonjour,

Le ticket 271068 a été assigné à votre groupe SECURITY

    Date :         5/2/2013 4:07:09 PM 
    Demandeur:     LastName Name
    Utilisateur :  LastName Name
    Catégorie :    Security-Mail spam
    Niveau d'urgence: 

    Détails :

    Subject: 

    Message: Bonjour,


Here comes a message that can be
of many lines and can contain
anything.


Merci




    From: SMTP:{Thierry.PROMTEAU@oecd.org}Thierry.PROMTEAU@oecd.org
    To:    help@oecd.org
    *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*


Lien direct vers le ticket :
http://sde.main.oecd.org/sde/default.aspx?ModSeq=24&Sequence=271068&FormSeq=1030

Cordialement

L’équipe du Helpdesk

2 个答案:

答案 0 :(得分:0)

如果您的模式始终是:       - - * - - - * - - - * - - - * - - - * - - - * - - - * - - - * - - 比你可以尝试:

 string[] splittedText = Regex.Split(yourText, "*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*");

 string result = splittedText[0];

答案 1 :(得分:0)

你可以通过替换所有输入来“提取”它只是你所寻找的部分,将其捕获到一个组中:

string content = Regex.Replace(input, ".*[*-]{50,60}(.*)HelpDesk.*", "$1");