c#去html标志,对字符串保留数字小数点,有中文的日期转化等特殊数据处理
来源:互联网 发布:淘宝店铺案例 编辑:程序博客网 时间:2024/05/24 03:27
命名空间
using System.Text.RegularExpressions;
1.我们采集到的数据 比如有些日期很不规则 带有中文 比如2013年5月8日 2013年5月 这里提供把这类不规则的日期转化成datatime类型
public DateTime ConvertTime(string a) { DateTime dt; try { try { dt = Convert.ToDateTime(a); } catch { dt = ClearDate(a); } } catch { string newStr = ""; Regex re = new Regex(@"(\d{2,4})年(\d{1,2})月(\d{1,2})日*|(\d{2,4})年(\d{1,2})月*|(\d{1,2})月(\d{1,2})日*|(\d{2,4})年*", RegexOptions.None); string[] lines = re.Split(a); List<string> dates = new List<string>(); int n; if (lines.Length >= 4) { for (int i = 0; i < 4; i++) { if (int.TryParse(lines[i], out n)) { dates.Add(lines[i].ToString()); //为数字 } } } else { for (int i = 0; i < lines.Length; i++) { if (int.TryParse(lines[i], out n)) { dates.Add(lines[i].ToString()); //为数字 } } } if (dates.Count() == 1) { newStr = dates[0].ToString()+"-1-1"; } else { for (int s = 0; s < dates.Count(); s++) { if (s == dates.Count() - 1) { if (dates[s] == "" | dates[s] == "0" | dates[s] == "00") { dates[s] = "1"; } newStr += dates[s].ToString(); } else { if (dates[s] == "" | dates[s] == "0" | dates[s] == "00") { dates[s] = "1"; } newStr += dates[s].ToString() + "-"; } } } dt = Convert.ToDateTime(newStr); } return dt; } public DateTime ClearDate(string a) { Regex r = new Regex(@"([1-9]\d*\-{1}\d*\-{1}\d*)"); //开始匹配 Match m = r.Match(a); string newStr = ""; while (m.Success) { //匹配成功 newStr += m.Groups[0].Value; //从上一个匹配结束的位置开始下一个匹配 m = m.NextMatch(); } return Convert.ToDateTime(newStr); }
直接调用ConvertTime就可完成转换
2.带中文的字符串只保留数字和小数点
public double ConvertNumber(string a) { Regex r = new Regex(@"([1-9]\d*\.?\d*)|(0\.\d*[1-9])"); //开始匹配 Match m = r.Match(a); string newStr = ""; while (m.Success) { //匹配成功 newStr += m.Groups[0].Value; //从上一个匹配结束的位置开始下一个匹配 m = m.NextMatch(); } if (newStr == "") { newStr = "0.0"; } return Convert.ToDouble(newStr); }
3.去html标志
public static string NoHTML(string Htmlstring) { //删除脚本 Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase); //删除HTML Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", "\"", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", " ", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "\xa1", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "\xa2", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "\xa3", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "\xa9", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"&#(\d+);", "", RegexOptions.IgnoreCase); Htmlstring.Replace("<", ""); Htmlstring.Replace(">", ""); Htmlstring.Replace("\r\n", ""); // Htmlstring = System.Web.HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim(); Htmlstring = Htmlstring.Trim(); return Htmlstring; }
- c#去html标志,对字符串保留数字小数点,有中文的日期转化等特殊数据处理
- IOS 浮点数保留小数点位数,转化为字符串
- javascript保留数字有效数字和小数点后数字位数的方法(数字类型转换成字符串类型)
- c#保留小数点后位数的方法
- c#保留小数点后位数的方法
- c#保留小数点后位数的方法
- C# 用正则表达式判断字符串是否全是数字、小数点、正负号组成等
- C# 用正则表达式判断字符串是否全是数字、小数点、正负号组成等
- 对jquery选取id中带小数点等特殊字符的用双反斜杠转义
- C# 保留小数点后几位
- C# 去除字符串前0,保留有效数字的解决方案
- C# 去除字符串前0,保留有效数字的解决方案
- C#中将double变量格式化为字符串,且保留小数点后面的全部位数
- C#中将double变量格式化为字符串,且保留小数点后面的全部位数
- java将数字转化为指定类型[float保留小数点确定、数字前加0]
- HTML控制文本框只能输入数字和小数点,并且只能保留小数点后两位
- 一些js小方法:格式化xml, 计算2个日期间隔的天数, 保留小数点后两位等
- 关于"保留小数点后几位数字“
- poj2255
- 编码中碰到的十个坑
- Struts2+JQuery+JSON的集成
- 计算机视觉领域的一些牛人博客,超有实力的研究机构等的网站链接
- 关于 Java 性能方面的 9 个谬论
- c#去html标志,对字符串保留数字小数点,有中文的日期转化等特殊数据处理
- Web前端工程师编程能力飞升之路
- return 与 break continue
- Google搜索技术原理(清晰大图)
- Sencha map infowindow
- 【time】【gettimeofday】【clock_gettime】【_ftime】
- Linux启动目录解析
- sample tutorial
- POJ 2516 Minimum Cost (最小费用最大流)