加了些注释,不知道加得对不对,如果不对,请过客告诉我,谢谢.
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using System.Web;
using System.Security.Cryptography;
namespace Cvv.Components
{
public static class StringHelper
{
静态方法#region 静态方法
/**//// <summary>
/// 对字符串进行base64编码
/// </summary>
/// <param name="input">字符串</param>
/// <returns>base64编码串</returns>
public static string Base64StringEncode(string input)
{
byte[] encbuff = System.Text.Encoding.UTF8.GetBytes(input);
return Convert.ToBase64String(encbuff);
}
/**//// <summary>
/// 对字符串进行反编码
/// </summary>
/// <param name="input">base64编码串</param>
/// <returns>字符串</returns>
public static string Base64StringDecode(string input)
{
byte[] decbuff = Convert.FromBase64String(input);
return System.Text.Encoding.UTF8.GetString(decbuff);
}
/**//// <summary>
/// 替换字符串(忽略大小写)
/// </summary>
/// <param name="input">要进行替换的内容</param>
/// <param name="oldValue">旧字符串</param>
/// <param name="newValue">新字符串</param>
/// <returns>替换后的字符串</returns>
public static string CaseInsensitiveReplace(string input, string oldValue, string newValue)
{
Regex regEx = new Regex(oldValue, RegexOptions.IgnoreCase | RegexOptions.Multiline);
return regEx.Replace(input, newValue);
}
/**//// <summary>
/// 替换首次出现的字符串
/// </summary>
/// <param name="input">要进行替换的内容</param>
/// <param name="oldValue">旧字符串</param>
/// <param name="newValue">新字符串</param>
/// <returns>替换后的字符串</returns>
public static string ReplaceFirst(string input, string oldValue, string newValue)
{
Regex regEx = new Regex(oldValue, RegexOptions.Multiline);
return regEx.Replace(input, newValue, 1);
}
/**//// <summary>
/// 替换最后一次出现的字符串
/// </summary>
/// <param name="input">要进行替换的内容</param>
/// <param name="oldValue">旧字符串</param>
/// <param name="newValue">新字符串</param>
/// <returns>替换后的字符串</returns>
public static string ReplaceLast(string input, string oldValue, string newValue)
{
int index = input.LastIndexOf(oldValue);
if (index < 0)
{
return input;
}
else
{
StringBuilder sb = new StringBuilder(input.Length - oldValue.Length + newValue.Length);
sb.Append(input.Substring(0, index));
sb.Append(newValue);
sb.Append(input.Substring(index + oldValue.Length, input.Length - index - oldValue.Length));
return sb.ToString();
}
}
/**//// <summary>
/// 根据词组过虑字符串(忽略大小写)
/// </summary>
/// <param name="input">要进行过虑的内容</param>
/// <param name="filterWords">要过虑的词组</param>
/// <returns>过虑后的字符串</returns>
public static string FilterWords(string input, params string[] filterWords)
{
return StringHelper.FilterWords(input, char.MinValue, filterWords);
}
/**//// <summary>
/// 根据词组过虑字符串(忽略大小写)
/// </summary>
/// <param name="input">要进行过虑的内容</param>
/// <param name="mask">字符掩码</param>
/// <param name="filterWords">要过虑的词组</param>
/// <returns>过虑后的字符串</returns>
public static string FilterWords(string input, char mask, params string[] filterWords)
{
string stringMask = mask == char.MinValue ? string.Empty : mask.ToString();
string totalMask = stringMask;
foreach (string s in filterWords)
{
Regex regEx = new Regex(s, RegexOptions.IgnoreCase | RegexOptions.Multiline);
if (stringMask.Length > 0)
{
for (int i = 1; i < s.Length; i++)
totalMask += stringMask;
}
input = regEx.Replace(input, totalMask);
totalMask = stringMask;
}
return input;
}
public static MatchCollection HasWords(string input, params string[] hasWords)
{
StringBuilder sb = new StringBuilder(hasWords.Length + 50);
//sb.Append("[");
foreach (string s in hasWords)
{
sb.AppendFormat("({0})|", StringHelper.HtmlSpecialEntitiesEncode(s.Trim()));
}
string pattern = sb.ToString();
pattern = pattern.TrimEnd('|'); // +"]";
Regex regEx = new Regex(pattern, RegexOptions.IgnoreCase | RegexOptions.Multiline);
return regEx.Matches(input);
}
/**//// <summary>
/// Html编码
/// </summary>
/// <param name="input">要进行编辑的字符串</param>
/// <returns>Html编码后的字符串</returns>
public static string HtmlSpecialEntitiesEncode(string input)
{
return HttpUtility.HtmlEncode(input);
}
/**//// <summary>
/// Html解码
/// </summary>
/// <param name="input">要进行解码的字符串</param>
/// <returns>解码后的字符串</returns>
public static string HtmlSpecialEntitiesDecode(string input)
{
return HttpUtility.HtmlDecode(input);
}
/**//// <summary>
/// MD5加密
/// </summary>
/// <param name="input">要进行加密的字符串</param>
/// <returns>加密后的字符串</returns>
public static string MD5String(string input)
{
MD5 md5Hasher = MD5.Create();
byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
StringBuilder sBuilder = new StringBuilder();
for (int i =
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using System.Web;
using System.Security.Cryptography;
namespace Cvv.Components
{
public static class StringHelper
{
静态方法#region 静态方法
/**//// <summary>
/// 对字符串进行base64编码
/// </summary>
/// <param name="input">字符串</param>
/// <returns>base64编码串</returns>
public static string Base64StringEncode(string input)
{
byte[] encbuff = System.Text.Encoding.UTF8.GetBytes(input);
return Convert.ToBase64String(encbuff);
}
/**//// <summary>
/// 对字符串进行反编码
/// </summary>
/// <param name="input">base64编码串</param>
/// <returns>字符串</returns>
public static string Base64StringDecode(string input)
{
byte[] decbuff = Convert.FromBase64String(input);
return System.Text.Encoding.UTF8.GetString(decbuff);
}
/**//// <summary>
/// 替换字符串(忽略大小写)
/// </summary>
/// <param name="input">要进行替换的内容</param>
/// <param name="oldValue">旧字符串</param>
/// <param name="newValue">新字符串</param>
/// <returns>替换后的字符串</returns>
public static string CaseInsensitiveReplace(string input, string oldValue, string newValue)
{
Regex regEx = new Regex(oldValue, RegexOptions.IgnoreCase | RegexOptions.Multiline);
return regEx.Replace(input, newValue);
}
/**//// <summary>
/// 替换首次出现的字符串
/// </summary>
/// <param name="input">要进行替换的内容</param>
/// <param name="oldValue">旧字符串</param>
/// <param name="newValue">新字符串</param>
/// <returns>替换后的字符串</returns>
public static string ReplaceFirst(string input, string oldValue, string newValue)
{
Regex regEx = new Regex(oldValue, RegexOptions.Multiline);
return regEx.Replace(input, newValue, 1);
}
/**//// <summary>
/// 替换最后一次出现的字符串
/// </summary>
/// <param name="input">要进行替换的内容</param>
/// <param name="oldValue">旧字符串</param>
/// <param name="newValue">新字符串</param>
/// <returns>替换后的字符串</returns>
public static string ReplaceLast(string input, string oldValue, string newValue)
{
int index = input.LastIndexOf(oldValue);
if (index < 0)
{
return input;
}
else
{
StringBuilder sb = new StringBuilder(input.Length - oldValue.Length + newValue.Length);
sb.Append(input.Substring(0, index));
sb.Append(newValue);
sb.Append(input.Substring(index + oldValue.Length, input.Length - index - oldValue.Length));
return sb.ToString();
}
}
/**//// <summary>
/// 根据词组过虑字符串(忽略大小写)
/// </summary>
/// <param name="input">要进行过虑的内容</param>
/// <param name="filterWords">要过虑的词组</param>
/// <returns>过虑后的字符串</returns>
public static string FilterWords(string input, params string[] filterWords)
{
return StringHelper.FilterWords(input, char.MinValue, filterWords);
}
/**//// <summary>
/// 根据词组过虑字符串(忽略大小写)
/// </summary>
/// <param name="input">要进行过虑的内容</param>
/// <param name="mask">字符掩码</param>
/// <param name="filterWords">要过虑的词组</param>
/// <returns>过虑后的字符串</returns>
public static string FilterWords(string input, char mask, params string[] filterWords)
{
string stringMask = mask == char.MinValue ? string.Empty : mask.ToString();
string totalMask = stringMask;
foreach (string s in filterWords)
{
Regex regEx = new Regex(s, RegexOptions.IgnoreCase | RegexOptions.Multiline);
if (stringMask.Length > 0)
{
for (int i = 1; i < s.Length; i++)
totalMask += stringMask;
}
input = regEx.Replace(input, totalMask);
totalMask = stringMask;
}
return input;
}
public static MatchCollection HasWords(string input, params string[] hasWords)
{
StringBuilder sb = new StringBuilder(hasWords.Length + 50);
//sb.Append("[");
foreach (string s in hasWords)
{
sb.AppendFormat("({0})|", StringHelper.HtmlSpecialEntitiesEncode(s.Trim()));
}
string pattern = sb.ToString();
pattern = pattern.TrimEnd('|'); // +"]";
Regex regEx = new Regex(pattern, RegexOptions.IgnoreCase | RegexOptions.Multiline);
return regEx.Matches(input);
}
/**//// <summary>
/// Html编码
/// </summary>
/// <param name="input">要进行编辑的字符串</param>
/// <returns>Html编码后的字符串</returns>
public static string HtmlSpecialEntitiesEncode(string input)
{
return HttpUtility.HtmlEncode(input);
}
/**//// <summary>
/// Html解码
/// </summary>
/// <param name="input">要进行解码的字符串</param>
/// <returns>解码后的字符串</returns>
public static string HtmlSpecialEntitiesDecode(string input)
{
return HttpUtility.HtmlDecode(input);
}
/**//// <summary>
/// MD5加密
/// </summary>
/// <param name="input">要进行加密的字符串</param>
/// <returns>加密后的字符串</returns>
public static string MD5String(string input)
{
MD5 md5Hasher = MD5.Create();
byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
StringBuilder sBuilder = new StringBuilder();
for (int i =