关于正则
也就是将不法标点进行合法化。比如下面一段:
2010年6月成立.是壹基金框架下的子属机构.文章作为发起人亲自签署与壹基金相关法律文件并得到壹基金书面授权;大福自闭症关爱基金是中国首家由明星发起针对自闭症的专项基金。test@hotmail.com 。工作内容包括自闭症知识的国内普及以及国内专业自闭症救助机构的硬件改进及软件支持。192.168.0.5。文章夫妻档写真(8张)简称“大福基金”,是以电影《海洋天堂》中的主角名字“大福”命名的。www.baidu.com。
实现:
将其中的中文间的标点进行合法化,改为中文标点。但是对于例外情况,如邮件地址,ip地址,网址,不进行处理。。 --------------------编程问答-------------------- str=Regex.Replace(@"(?<=[\u4e00-\u9fa5])\.(?=[\u4e00-\u9fa5])","。"); --------------------编程问答-------------------- str=Regex.Replace(str,@"(?<=[\u4e00-\u9fa5])\.(?=[\u4e00-\u9fa5])","。"); --------------------编程问答-------------------- 好像不行呢 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答--------------------
string patrern = @"[\u4e00-\u9fa5]([\.\;\,])";
string opt = string.Empty;
s = Regex.Replace(s, patrern, delegate(Match match)
{
switch (match.Groups[1].Value)
{
case ".":
opt = "。";
break;
case ";":
opt = ";";
break;
case ",":
opt = ",";
break;
default:
opt = match.Groups[1].Value;
break;
}
return match.Value.Replace(match.Groups[1].Value, opt);
});
补充:.NET技术 , C#