字符串操作
from:http://www.opent.cn/a/094/1182.shtml
1
2
3 using System;
4 using System.Text;
5 using System.Text.RegularExpressions;
6
7 namespace Example
8 {
9 /// <summary>
10 /// 替换字符串
11 /// </summary>
12 public class StringRepStrs
13 {
14
15
16
17 public StringRepStrs()
18 {
19 }
20
21 #region 普通替换字符串
22
23 /// <summary>
24 /// 普通替换字符串
25
26 /// </summary>
27 /// <param name="src">源字符串</param>
28 /// <param name="pattern">要匹配的正则表达式模式</param>
29 /// <param name="replacement">替换字符串</param>
30 /// <returns>已修改的字符串</returns>
31 public static string Replace(string src, string pattern, string replacement)
32 {
33 return Replace(src, pattern, replacement, RegexOptions.None);
34 }
35
36 #endregion
37
38 #region 正则替换字符串
39
40 /// <summary>
41 /// 正则替换字符串
42
43 /// </summary>
44 /// <param name="src">要修改的字符串</param>
45 /// <param name="pattern">要匹配的正则表达式模式</param>
46 /// <param name="replacement">替换字符串</param>
47 /// <param name="options">匹配模式</param>
48 /// <returns>已修改的字符串</returns>
49 public static string Replace(string src, string pattern, string replacement, RegexOptions options)
50 {
51 Regex regex = new Regex(pattern, options | RegexOptions.Compiled);
52
53 return regex.Replace(src, replacement);
54 }
55
56 #endregion
57
58 #region 不区分大小写替换字符串
59
60 /// <summary>
61 /// 不区分大小写替换字符串
62
63 /// </summary>
64 /// <param name="src">源字符串</param>
65 /// <param name="pattern">要匹配的正则表达式模式</param>
66 /// <param name="replacement">替换字符串</param>
67 /// <returns>已修改的字符串</returns>
68 public static string ReplaceIgnoreCase(string src, string pattern, string replacement)
69 {
70 return Replace(src, pattern, replacement, RegexOptions.IgnoreCase);
71 }
72
73 #endregion
74
75
76
77 /// <summary>
78 /// 删除字符串中指定的内容
79 /// </summary>
80 /// <param name="src">要修改的字符串</param>
81 /// <param name="pattern">要删除的正则表达式模式</param>
82 /// <returns>已删除指定内容的字符串</returns>
83 public static string Drop(string src, string pattern)
84 {
85 return Replace(src, pattern, "");
86 }
87
88
89
90 /// <summary>
91 /// 删除字符串中指定的内容,不区分大小写
92 /// </summary>
93 /// <param name="src">要修改的字符串</param>
94 /// <param name="pattern">要删除的正则表达式模式</param>
95 /// <returns>已删除指定内容的字符串</returns>
96 public static string DropIgnoreCase(string src, string pattern)
97 {
98 return ReplaceIgnoreCase(src, pattern, "");
99 }
100
101 /// <summary>
102 /// 替换字符串到数据库可输入模式
103 /// </summary>
104 /// <param name="src">待插入数据库的字符串</param>
105 /// <returns>可插入数据库的字符串</returns>
106 public static string ToSQL(string src)
107 {
108 if (src == null)
109 {
110 return null;
111 }
112 return Replace(src, "", "");
113 }
114
115 /// <summary>
116 /// 去掉html内容中的指定的html标签
117 /// </summary>
118 /// <param name="content">html内容</param>
119 /// <param name="tagName">html标签</param>
120 /// <returns>去掉标签的内容</returns>
121 public static string DropHtmlTag(string content, string tagName)
122 {
123 //去掉<tagname>和</tagname>
124 return DropIgnoreCase(content, "<[/]{0,1}" + tagName + "[^\\>]*\\>");
125 }
126
127 /// <summary>
128 /// 去掉html内容中全部标签
129 /// </summary>
130 /// <param name="content">html内容</param>
131 /// <returns>去掉html标签的内容</returns>
132 public static string DropHtmlTag(string content)
133 {
134 //去掉<*>
135 return Drop(content, "<[^\\>]*>");
136 }
137
138 /// <summary>
139 /// 判断一个数据是不是数字
140 /// </summary>
141 /// <param name="inputData">字符串</param>
142 /// <returns>结果</returns>
143 public static bool IsNumeric(string inputData)
144 {
145 Regex _isNumber = new Regex(@"^\d+{$article$}quot;");
146 Match m = _isNumber.Match(inputData);
147 return m.Success;
148 }
149
150 /// <summary>
151 /// 转换html标签为web页可见内容
152 /// </summary>
153 /// <param name="src"></param>
154 /// <returns></returns>
155 public static string EscapeHtml(string src)
156 {
157 if (src == null)
158 {
159 return null;
160 }
161 string s = src;
162 s = Replace(s, ">", ">");
163 s = Replace(s, "<", "<");
164 return s;
165 }
166
167 /// <summary>
168 /// 将字符串格式化成HTML代码
169 /// </summary>
170 /// <param name="str">要格式化的字符串</param>
171 /// <returns>格式化后的字符串</returns>
172 public static String ToHtml(string str)
173 {
174 if (str == null || str.Equals(""))
175 {
176 return str;
177 }
178
179 StringBuilder sb = new StringBuilder(str);
180 sb.Replace("&", "&");
181 sb.Replace("<", "<");
182 sb.Replace(">", ">");
183 sb.Replace("\r\n", "<br>");
184 sb.Replace("\n", "<br>");
185 sb.Replace("\t", " ");
186 sb.Replace(" ", " ");
187 return sb.ToString();
188 }
189
190
191 /// <summary>
192 /// 将HTML代码转化成文本格式
193 /// </summary>
194 /// <param name="str">要格式化的字符串</param>
195 /// <returns>格式化后的字符串</returns>
196 public static String ToTxt(String str)
197 {
198 if (str == null || str.Equals(""))
199 {
200 return str;
201 }
202
203 StringBuilder sb = new StringBuilder(str);
204 sb.Replace(" ", " ");
205 sb.Replace("<br>", "\r\n");
206 sb.Replace("<", "<");
207 sb.Replace(">", ">");
208 sb.Replace("&", "&");
209 return sb.ToString();
210 }
211 }
212 }
213
欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 330987132 | Go:217696290 | Python:336880185 | 做人要厚道,转载请注明出处!http://www.cnblogs.com/sunshine-anycall/archive/2009/07/27/1532538.html