获取特定值作为字符串c#

时间:2014-12-16 09:03:26

标签: c# regex string substring string.format

简单:

我将其设为MessageBody xItem.Body

"<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nDies ist test nummer 3\r\n</body>\r\n</html>\r\n"

我只需要在<body>\r\n \r\n</body>之间保存内容:

m_Description = xItem.Body;

什么是最简单的!方式?

2 个答案:

答案 0 :(得分:2)

感谢您对外部工具的反馈。我将来会使用它,但是对于这个问题,我编写了这个函数:

    private string ExtractBetweenBodyTags(string str1)
    {

        if ( ! string.IsNullOrEmpty(str1))
        {
            int p1 = str1.IndexOf("<body>\r\n");
                if (p1 >-1)
                {
                    string str2 = str1.Substring(p1 + "<body>\r\n".Length);
                    int p2= str2.IndexOf("\r\n</body>");
                    if (p2 > -1)
                    {
                        str2 = str2.Substring(0,p2-1 );
                        return str2;
                    }
                }
        }
        return "";
    }

使用它没有问题。

我想我们可以结束那个:)

答案 1 :(得分:1)

使用正则表达式:

 Regex regex = new Regex(@"(?<=<body>).*?(?=</body>)", RegexOptions.Singleline);
 string body = regex.Match(source).ToString();