博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文本处理工具(一)基础处理
阅读量:5037 次
发布时间:2019-06-12

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

文本处理工具类

对网上常见的文本处理做了整理,以备后用,持续更新中……

public class TextFormat    {        ///         /// 全角转半角。        ///         public static string ToDBC(string text)        {            char[] c = text.ToCharArray();            for (int i = 0; i < c.Length; i++)            {                if (c[i] == 12288)                {                    c[i] = (char)32;                    continue;                }                if (c[i] > 65280 && c[i] < 65375)                    c[i] = (char)(c[i] - 65248);            }            return new string(c);        }        ///         /// 去除HTML标签。        ///         public static string FilterHtmlTag(string text)        {            return Regex.Replace(text, "<[^>]+>", "");        }        ///         /// 剔除非常规字符。        ///         /// 
/// 网上常用的汉字范围是U4E00-U9FA5,这个范围是“中日韩统一表意文字”,但要包含全部,则还要兼容他们的扩展集2E80-A4CF、F900-FAFF、FE30-FE4F。 /// 2E80-A4CF:包含了中日朝部首补充、康熙部首、表意文字描述符、中日朝符号和标点、日文平假名、日文片假名、注音字母、谚文兼容字母、象形字注释标志、注音字母扩展、中日朝笔画、日文片假名语音扩展、带圈中日朝字母和月份、中日朝兼容、中日朝统一表意文字扩展A、易经六十四卦符号、中日韩统一表意文字、彝文音节、彝文字根 /// F900-FAFF:中日朝兼容表意文字 /// FE30-FE4F:中日朝兼容形式 /// /// GB2312:\u00a4-\u9fa0、\uff01-\uffe5 /// /// 见:http://ju.outofmemory.cn/entry/53571 /// /// 标准CJK文字:\u3400-\u4DB5,\u4E00-\u9FA5,\u9FA6-\u9FBB,\uF900-\uFA2D,\uFA30-\uFA6A,\uFA70-\uFAD9 /// 全角ASCII、全角中英文标点、半宽片假名、半宽平假名、半宽韩文字母范围:\uFF00-\uFFEF /// CJK部首补充:\u2E80-\u2EFF /// CJK标点符号:\u3000-\u303F /// CJK笔划:\u31C0-\u31EF /// 康熙部首:\u2F00-\u2FDF /// 汉字结构描述字符:\u2FF0-\u2FFF /// 注音符号:\u3100-\u312F /// 注音符号(闽南语、客家语扩展):\u31A0-\u31BF /// 日文平假名:\u30A0-\u30FF /// 日文片假名拼音扩展:\u31F0-\u31FF /// 韩文拼音:\uAC00-\uD7AF ///
public static string FilterMeanlessWord(string text) { return Regex.Replace(text, "[^\u4e00-\u9fa50-9a-zA-Z]", ""); } /// /// 剔除常用标点。 /// public static string FilterCommonPunctuation(string text) { return Regex.Replace(text, @"[~!@#\$%\^&\*\(\)\+=\|\\\}\]\{\[:;<,>\?\/""_\-`\.']+", ""); } /// /// 转换会小写。 /// public static string ToLower(string text) { return text.ToLower(); } /// /// 过滤空格。 /// public static string FilterSpace(string text) { return Regex.Replace(text, "[\\s]+", ""); } /// /// 转换为Unicode字符。 /// public static string ToUnicode(string text) { StringBuilder result = new StringBuilder(); for (int i = 0; i < text.Length; i++) { if (".$^{[(|)*+?\\".Contains(text[i].ToString())) { byte[] bytes = Encoding.Unicode.GetBytes(text[i].ToString()); result.Append("\\u"); result.Append(bytes[1].ToString("x").PadLeft(2, '0')); result.Append(bytes[0].ToString("x").PadLeft(2, '0')); } else { result.Append(text[i]); } } return result.ToString(); } /// /// 大小写金额转换。 /// public static string ToChMoney(double money) { string s = money.ToString("#L#E#D#C#K#E#D#C#J#E#D#C#I#E#D#C#H#E#D#C#G#E#D#C#F#E#D#C#.0B0A"); string d = Regex.Replace(s, @"((?<=-|^)[^1-9]*)|((?'z'0)[0A-E]*((?=[1-9])|(?'-z'(?=[F-L\.]|$))))|((?'b'[F-L])(?'z'0)[0A-L]*((?=[1-9])|(?'-z'(?=[\.]|$))))", "${b}${z}"); return Regex.Replace(d, ".", m => "负圆空零壹贰叁肆伍陆柒捌玖空空空空空空空分角拾佰仟万亿兆京垓秭穰"[m.Value[0] - '-'].ToString()); } /// /// 中文转数字。 /// public static string ChToNum(string text) { StringBuilder tb = new StringBuilder(); foreach (var c in text) { switch (c) { case '零': tb.Append(0); break; case '一': tb.Append(1); break; //数字处理时考虑到一类似于—,可以不做转换 case '二': tb.Append(2); break; case '三': tb.Append(3); break; case '四': tb.Append(4); break; case '五': tb.Append(5); break; case '六': tb.Append(6); break; case '七': tb.Append(7); break; case '八': tb.Append(8); break; case '九': tb.Append(9); break; case '壹': tb.Append(1); break; case '贰': tb.Append(2); break; case '叁': tb.Append(3); break; case '肆': tb.Append(4); break; case '伍': tb.Append(5); break; case '陆': tb.Append(6); break; case '柒': tb.Append(7); break; case '捌': tb.Append(8); break; case '玖': tb.Append(9); break; default: tb.Append(c); break; } } return tb.ToString(); } }

转载于:https://www.cnblogs.com/krockey/p/9077839.html

你可能感兴趣的文章
ecshop 系统信息在哪个页面
查看>>
【转】码云source tree 提交超过100m 为什么大文件推不上去
查看>>
Oracle数据库的增、删、改、查
查看>>
阿里市值超越亚马逊 马云开启下半场技术理想
查看>>
MySql执行分析
查看>>
git使用中的问题
查看>>
yaml文件 .yml
查看>>
linux字符集修改
查看>>
phpcms 添加自定义表单 留言
查看>>
mysql 优化
查看>>
读书笔记 ~ Nmap渗透测试指南
查看>>
WCF 配置文件
查看>>
动态调用WCF服务
查看>>
oracle导出/导入 expdp/impdp
查看>>
类指针
查看>>
css修改滚动条样式
查看>>
2018.11.15 Nginx服务器的使用
查看>>
Kinect人机交互开发实践
查看>>
百度编辑器UEditor ASP.NET示例Demo 分类: ASP.NET...
查看>>
JAVA 技术类分享(二)
查看>>