博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正则表达式匹配中文字符及标点
阅读量:6643 次
发布时间:2019-06-25

本文共 1529 字,大约阅读时间需要 5 分钟。

可以写成这样

string strRegex = @"[\u4e00-\u9fa5]|[\(\)\《\》\——\;\,\。\“\”\<\>\!]";

其中前半部分表示匹配中文字符,后半部分为需要匹配的标点符号。

另,

对于html源码的处理,建议使用,用下面的代码去掉其中的脚本、样式或者注释内容。

public static HtmlDocument InitializeHtmlDoc(string htmlString){    if (string.IsNullOrEmpty(htmlString))    {        return null;    }    HtmlDocument doc = new HtmlDocument();    doc.LoadHtml(htmlString);    doc.DocumentNode.Descendants().Where(n => n.Name == "script" || n.Name == "style" || n.Name == "#comment").ToList().ForEach(n => n.Remove());    return doc;}

HtmlAgilityPack是使用XPath语法,"//comment()"在XPath中表示“所有注释节点”,“#comment”不好用的话需要替换。

 

从Url读取网页内容(静态),可以用下面的代码

public static string GetHtmlStr(string url){    if (string.IsNullOrEmpty(url))    {        return string.Empty;    }    string html = string.Empty;    try    {        WebRequest webRequest = WebRequest.Create(url);        webRequest.Timeout = 30 * 1000;        using (WebResponse webResponse = webRequest.GetResponse())        {            if (((HttpWebResponse)webResponse).StatusCode == HttpStatusCode.OK)            {                Stream stream = webResponse.GetResponseStream();                string coder = ((HttpWebResponse)webResponse).CharacterSet;                StreamReader reader = new StreamReader(stream, string.IsNullOrEmpty(coder) ? Encoding.Default : Encoding.GetEncoding(coder));                html = reader.ReadToEnd();            }        }    }    catch (Exception ex)    {        //Request may timeout sometimes    }    return html;}

转载于:https://www.cnblogs.com/urwlcm/p/4642454.html

你可能感兴趣的文章
世界上第一位程序员是位美女——AdaLovelace【有图为证】
查看>>
【295】暗黑表格模板及相关
查看>>
mysql group replication 安装&配置详解
查看>>
深拷贝和浅拷贝
查看>>
java版sqlhelper(转)
查看>>
android搭建环境错误 daemon not running. starting it now on port 5037 ADB server didn't ACK
查看>>
我的第一本著作:Spark技术内幕上市!
查看>>
现实世界的Windows Azure:采访Gridsum的Sr.业务发展总监Yun Xu
查看>>
公开发布版的Windows Azure 基础结构服务中的 SQL Server – 文档和最佳实践(已更新),还有即将发布的博客...
查看>>
UVa 494 - Kindergarten Counting Game
查看>>
java中IO操作
查看>>
Python 值传递和引用传递
查看>>
hdu4405Aeroplane chess 概率dp水题
查看>>
jq查找父类元素三个函数的区别
查看>>
1.27eia原油
查看>>
vue loading 插件编写与实战
查看>>
Linux I/O多路转接之select函数
查看>>
Android深度探索第二章总结
查看>>
matlab练习程序(单源最短路径Bellman-Ford)
查看>>
深入理解Java的接口和抽象类
查看>>