求一个C#字符串处理的类(一个字符串处理函数给5分) 求一个C#字符串处理的类(一个字符串处理函数给5分) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 string s="1,2,3";string[] arr=s.Split(',');//arr[0]="1"; arr[1]="2"; arr[2]="3"; public static string TrimSeparator(string str, string separator) { #region 除去字符多余的分隔符,比如:";;酒店;;;;普通;;;"将返回"酒店;普通" try { if(null == str) return ""; if(str.Equals("")) return str; char[] chr=separator.ToCharArray(); string[] strlist=str.Split(chr); string newstr = ""; for(int i = 0; i < strlist.Length; i++) { if(strlist[i] == null || strlist[i].Trim().Equals("")) continue; newstr += strlist[i].Trim()+separator; } newstr=newstr.TrimEnd(chr); return newstr; } catch { return str; } #endregion } .......这个就很多了哦.//截断字符串,并在字符串后加上 ...public static string StringTruncat(string oldStr, int maxLength, string endWith) { if (string.IsNullOrEmpty(oldStr)) return oldStr + endWith; if (string.IsNullOrEmpty(endWith)) endWith = "..."; if (maxLength < 1) throw new Exception("返回的字符串长度必须大于[0]"); if (oldStr.Length > maxLength) { string strTmp = oldStr.Substring(0, maxLength); if (string.IsNullOrEmpty(endWith)) return strTmp; else return strTmp + endWith; } return oldStr; } 转换一些特殊的符号public static string ChangeString(string inputStr) { StringBuilder retVal = new StringBuilder(); if (inputStr != String.Empty) { inputStr = inputStr.Trim(); for (int i = 0; i < inputStr.Length; i++) { switch (inputStr[i]) { case '"': retVal.Append("""); break; case '&': retVal.Append("&"); break; case '<': retVal.Append("<"); break; case '>': retVal.Append(">"); break; case ' ': retVal.Append(" "); break; case '\t': retVal.Append("  :"); break; case '\r': retVal.Append("<br>"); break; default: retVal.Append(inputStr[i]); break; } } } return retVal.ToString(); } DateTime dt = DateTime.Parse("2007-3-12 14:58:05");string ret = dt.ToString("HHmmss"); //ret=145805@是忽略转义字符string str = "C:\\windows\\system";string str = @"C:\windows\system";保留2位有效小数Double a = 12.345678;Console.Write(Math.Round(a,2)); //得到12.35把123456789转换为12-345-6789 string a = "123456789"; a = int.Parse(a).ToString("##-###-####"); Console.Write(a);交换两个指定位置字符static void Main() ...{ string s = "123456789"; SwapChar(ref s, 3, 6); Console.Write(s.ToString()); } static void SwapChar(ref string s, int i1, int i2) ...{ char temp = s[i1]; char temp1 = s[i2]; s = s.Remove(i1, 1).Insert(i1, temp1.ToString()); s = s.Remove(i2, 1).Insert(i2, temp.ToString()); }得到1-9之间的随机数static void Main() ...{ Random r = new Random(); Console.WriteLine(r.Next() % 10);//1-9 Console.WriteLine(r.Next() % 10); Console.WriteLine(r.Next() % 10); Console.WriteLine(r.Next() % 10); Console.WriteLine(r.Next() % 10); Console.WriteLine(r.Next() % 10); Console.WriteLine(r.Next() % 10); Console.WriteLine(r.Next() % 10); Console.WriteLine(r.Next() % 10); }输出5个Astring str = new string('A', 5);//得到AAAAA给分吧 字符串处理的类,那一定有 stringbuilder 了下面是函数Append AppendFormat Equals Insert Remove Replace ToString 字符串处理的类.NET不是有吗?..如果有自己的特殊功能需要,也得告诉别人你要什么样的功能呀.. 两个转换 public string TextToHTML(string fString) { if (fString != string.Empty) { fString = fString.Replace("<", "<"); fString = fString.Replace(">", ">"); fString = fString.Replace(((char)34).ToString(), """); fString = fString.Replace(((char)39).ToString(), "'"); fString = fString.Replace(" ", " "); fString = fString.Replace("\r\n", "<br>"); } return fString; } public string HTMLToText(string fString) { if (fString != string.Empty) { fString = fString.Replace("<", "<"); fString = fString.Replace(">", ">"); fString = fString.Replace(""", ((char)34).ToString()); fString = fString.Replace("'", ((char)39).ToString()); fString = fString.Replace(" ", " "); fString = fString.Replace("<br>", "\r\n"); } return fString; } #region 按字符串实际长度截取定长字符窜 /// <summary> /// 按字符串实际长度截取定长字符窜 /// </summary> /// <param name="str">原字符串</param> /// <param name="length">要截取的长度</param> /// <returns>string型字符串</returns> public string CutString(string str, int length) { string delsqace = str.Trim(); int i = 0, j = 0; foreach (char chr in delsqace) { if ((int)chr > 127) { i += 2; } else { i++; } if (i > length) { delsqace = delsqace.Substring(0, j); break; } j++; } return delsqace; } #endregion 估计LZ是在给自己散分找理由String.(\w+)(),所有函数 /// <summary> /// 指定截取字符串 /// </summary> /// <param name="Content">将要截取的字符串</param> /// <param name="StartStr">开始字符串</param> /// <param name="OverStr">结束字符串</param> /// <param name="ShowFrist">是否包含StartStr</param> /// <param name="ShowOver">是否包含OverStr</param> /// <param name="OrdinalIgnoreCase">是否忽略区分大小写</param> /// <returns></returns> public static string GetCutInStr(string Content, string StartStr, string OverStr, bool ShowFrist, bool ShowOver, bool OrdinalIgnoreCase) { if (string.IsNullOrEmpty(Content) || string.IsNullOrEmpty(StartStr) || string.IsNullOrEmpty(OverStr)) { return string.Empty; } else { int Left = Content.Trim().IndexOf(StartStr.Trim(),(OrdinalIgnoreCase ? StringComparison.OrdinalIgnoreCase : StringComparison.CurrentCulture)); if (!ShowFrist) { Left = Left + StartStr.Trim().Length; } int Right = Content.Trim().IndexOf(OverStr.Trim(), (OrdinalIgnoreCase ? StringComparison.OrdinalIgnoreCase : StringComparison.CurrentCulture)); if (ShowOver) { Right = Right + OverStr.Trim().Length; } int Length = Right - Left; if (Length < 0) { Length = 0; } if (Left < 0) { return string.Empty; } else { return Content.Trim().Substring(Left, Length); } } } /// <summary> /// 字符串中截取 /// </summary> /// <param name="SubStr">被截取的字符</param> /// <param name="Length">截取字符中长度</param> /// <param name="ShowStr">如果被截取的字符长度,后面是否以省略号来代替。</param> /// <returns></returns> public static string GetSubStr(string SubStr, int Length, string ShowStr) { string ReturnStr = string.Empty; if (!string.IsNullOrEmpty(SubStr)) { if (Length != 0) { if (SubStr.Length > Length) { ReturnStr = Left(SubStr, Length) + ShowStr; } else { ReturnStr = SubStr; } } else { ReturnStr = SubStr; } } return ReturnStr; } /// <summary> /// 分割字符串 /// </summary> /// <param name="StrContent">被分割的字符串</param> /// <param name="SplitStr">所用的分割字符,如“||”</param> /// <returns></returns> public static string[] Split(string StrContent, string SplitStr) { if (string.IsNullOrEmpty(StrContent)) { return new string[0]; } else { if (StrContent.IndexOf(SplitStr) < 0) { string[] Tmp = { StrContent }; return Tmp; } return Regex.Split(StrContent, Regex.Escape(SplitStr), RegexOptions.IgnoreCase); } } /// <summary> /// 左截取 /// </summary> /// <param name="sSource">内容</param> /// <param name="iLength">从左边截取开始位置</param> /// <returns></returns> public static string Left(string sSource, int iLength) { if (string.IsNullOrEmpty(sSource)) { return string.Empty; } else { if (iLength >= 0) { return sSource.Substring(0, iLength > sSource.Length ? sSource.Length : iLength); } else { return string.Empty; } } } /// <summary> /// 右截取 /// </summary> /// <param name="sSource">内容</param> /// <param name="iLength">从右边截取开始位置</param> /// <returns></returns> public static string Right(string sSource, int iLength) { if (string.IsNullOrEmpty(sSource)) { return string.Empty; } else { if (iLength >= 0) { return sSource.Substring(iLength > sSource.Length ? 0 : sSource.Length - iLength); } else { return string.Empty; } } } /// <summary> /// 查找字符 /// </summary> /// <param name="sSource">源字符串</param> /// <param name="iStart">开始查找位置</param> /// <param name="iLength">要查找的字符长度</param> /// <returns></returns> public static string Mid(string sSource, int iStart, int iLength) { int iStartPoint = iStart > sSource.Length ? sSource.Length : iStart; return sSource.Substring(iStartPoint, iStartPoint + iLength > sSource.Length ? sSource.Length - iStartPoint : iLength); } 如何显示AxWindowsMediaPlayer的播放列表? 新手问题 如何求得Dictionary<string, string[]>string[]数组的长度 关于编写兼容windows 95的程序问题?? 关于两个窗体互相引用的问题,在线等啊 !!!!!!! 求一组数的最大公约数算法 如何修改winform的dataGrid1的列的名称(在线等) asp 这段代码 在gv中一直得不到oracle的表中数据 一般写事件的格式是什么?有简化写法吗? 在线等!!!着急!!! 请高手帮忙:关于vs2008与vss2005的问题 拖动窗体MOUSEUP怎么写,用什么方法?
string[] arr=s.Split(',');
//arr[0]="1"; arr[1]="2"; arr[2]="3";
{
#region 除去字符多余的分隔符,比如:";;酒店;;;;普通;;;"将返回"酒店;普通"
try
{
if(null == str) return "";
if(str.Equals("")) return str;
char[] chr=separator.ToCharArray();
string[] strlist=str.Split(chr);
string newstr = "";
for(int i = 0; i < strlist.Length; i++)
{
if(strlist[i] == null || strlist[i].Trim().Equals("")) continue;
newstr += strlist[i].Trim()+separator;
}
newstr=newstr.TrimEnd(chr);
return newstr;
}
catch
{
return str;
}
#endregion
}
这个就很多了哦.//截断字符串,并在字符串后加上 ...
public static string StringTruncat(string oldStr, int maxLength, string endWith)
{
if (string.IsNullOrEmpty(oldStr))
return oldStr + endWith;
if (string.IsNullOrEmpty(endWith))
endWith = "...";
if (maxLength < 1)
throw new Exception("返回的字符串长度必须大于[0]");
if (oldStr.Length > maxLength)
{
string strTmp = oldStr.Substring(0, maxLength);
if (string.IsNullOrEmpty(endWith))
return strTmp;
else
return strTmp + endWith;
}
return oldStr;
}
{
StringBuilder retVal = new StringBuilder();
if (inputStr != String.Empty)
{
inputStr = inputStr.Trim();
for (int i = 0; i < inputStr.Length; i++)
{
switch (inputStr[i])
{
case '"': retVal.Append("""); break;
case '&': retVal.Append("&"); break;
case '<': retVal.Append("<"); break;
case '>': retVal.Append(">"); break;
case ' ': retVal.Append(" "); break;
case '\t': retVal.Append("  :"); break;
case '\r': retVal.Append("<br>"); break;
default: retVal.Append(inputStr[i]); break;
}
}
}
return retVal.ToString();
}
string ret = dt.ToString("HHmmss"); //ret=145805
@是忽略转义字符
string str = "C:\\windows\\system";
string str = @"C:\windows\system";
保留2位有效小数
Double a = 12.345678;
Console.Write(Math.Round(a,2)); //得到12.35
把123456789转换为12-345-6789
string a = "123456789";
a = int.Parse(a).ToString("##-###-####");
Console.Write(a);
交换两个指定位置字符
static void Main()
...{
string s = "123456789";
SwapChar(ref s, 3, 6);
Console.Write(s.ToString());
} static void SwapChar(ref string s, int i1, int i2)
...{
char temp = s[i1];
char temp1 = s[i2];
s = s.Remove(i1, 1).Insert(i1, temp1.ToString());
s = s.Remove(i2, 1).Insert(i2, temp.ToString());
}得到1-9之间的随机数
static void Main()
...{ Random r = new Random(); Console.WriteLine(r.Next() % 10);//1-9
Console.WriteLine(r.Next() % 10);
Console.WriteLine(r.Next() % 10);
Console.WriteLine(r.Next() % 10);
Console.WriteLine(r.Next() % 10);
Console.WriteLine(r.Next() % 10);
Console.WriteLine(r.Next() % 10);
Console.WriteLine(r.Next() % 10);
Console.WriteLine(r.Next() % 10);
}输出5个A
string str = new string('A', 5);//得到AAAAA
给分吧
下面是函数
Append
AppendFormat
Equals
Insert
Remove
Replace
ToString
public string TextToHTML(string fString)
{
if (fString != string.Empty)
{
fString = fString.Replace("<", "<");
fString = fString.Replace(">", ">"); fString = fString.Replace(((char)34).ToString(), """);
fString = fString.Replace(((char)39).ToString(), "'"); fString = fString.Replace(" ", " ");
fString = fString.Replace("\r\n", "<br>");
}
return fString;
} public string HTMLToText(string fString)
{
if (fString != string.Empty)
{
fString = fString.Replace("<", "<");
fString = fString.Replace(">", ">"); fString = fString.Replace(""", ((char)34).ToString());
fString = fString.Replace("'", ((char)39).ToString()); fString = fString.Replace(" ", " ");
fString = fString.Replace("<br>", "\r\n");
}
return fString;
}
/// <summary>
/// 按字符串实际长度截取定长字符窜
/// </summary>
/// <param name="str">原字符串</param>
/// <param name="length">要截取的长度</param>
/// <returns>string型字符串</returns>
public string CutString(string str, int length)
{
string delsqace = str.Trim();
int i = 0, j = 0;
foreach (char chr in delsqace)
{
if ((int)chr > 127)
{
i += 2;
}
else
{
i++;
}
if (i > length)
{
delsqace = delsqace.Substring(0, j);
break;
}
j++;
}
return delsqace; }
#endregion
String.(\w+)(),所有函数
/// <summary>
/// 指定截取字符串
/// </summary>
/// <param name="Content">将要截取的字符串</param>
/// <param name="StartStr">开始字符串</param>
/// <param name="OverStr">结束字符串</param>
/// <param name="ShowFrist">是否包含StartStr</param>
/// <param name="ShowOver">是否包含OverStr</param>
/// <param name="OrdinalIgnoreCase">是否忽略区分大小写</param>
/// <returns></returns>
public static string GetCutInStr(string Content, string StartStr, string OverStr, bool ShowFrist, bool ShowOver, bool OrdinalIgnoreCase)
{
if (string.IsNullOrEmpty(Content) || string.IsNullOrEmpty(StartStr) || string.IsNullOrEmpty(OverStr))
{
return string.Empty;
}
else
{
int Left = Content.Trim().IndexOf(StartStr.Trim(),(OrdinalIgnoreCase ? StringComparison.OrdinalIgnoreCase : StringComparison.CurrentCulture));
if (!ShowFrist)
{
Left = Left + StartStr.Trim().Length;
} int Right = Content.Trim().IndexOf(OverStr.Trim(), (OrdinalIgnoreCase ? StringComparison.OrdinalIgnoreCase : StringComparison.CurrentCulture));
if (ShowOver)
{
Right = Right + OverStr.Trim().Length;
}
int Length = Right - Left;
if (Length < 0)
{
Length = 0;
}
if (Left < 0)
{
return string.Empty;
}
else
{
return Content.Trim().Substring(Left, Length);
}
}
}
/// <summary>
/// 字符串中截取
/// </summary>
/// <param name="SubStr">被截取的字符</param>
/// <param name="Length">截取字符中长度</param>
/// <param name="ShowStr">如果被截取的字符长度,后面是否以省略号来代替。</param>
/// <returns></returns>
public static string GetSubStr(string SubStr, int Length, string ShowStr)
{
string ReturnStr = string.Empty;
if (!string.IsNullOrEmpty(SubStr))
{
if (Length != 0)
{
if (SubStr.Length > Length)
{
ReturnStr = Left(SubStr, Length) + ShowStr;
}
else
{
ReturnStr = SubStr;
}
}
else
{
ReturnStr = SubStr;
}
}
return ReturnStr;
}
/// <summary>
/// 分割字符串
/// </summary>
/// <param name="StrContent">被分割的字符串</param>
/// <param name="SplitStr">所用的分割字符,如“||”</param>
/// <returns></returns>
public static string[] Split(string StrContent, string SplitStr)
{
if (string.IsNullOrEmpty(StrContent))
{
return new string[0];
}
else
{
if (StrContent.IndexOf(SplitStr) < 0)
{
string[] Tmp = { StrContent };
return Tmp;
}
return Regex.Split(StrContent, Regex.Escape(SplitStr), RegexOptions.IgnoreCase);
}
} /// <summary>
/// 左截取
/// </summary>
/// <param name="sSource">内容</param>
/// <param name="iLength">从左边截取开始位置</param>
/// <returns></returns>
public static string Left(string sSource, int iLength)
{
if (string.IsNullOrEmpty(sSource))
{
return string.Empty;
}
else
{
if (iLength >= 0)
{
return sSource.Substring(0, iLength > sSource.Length ? sSource.Length : iLength);
}
else
{
return string.Empty;
}
}
}
/// <summary>
/// 右截取
/// </summary>
/// <param name="sSource">内容</param>
/// <param name="iLength">从右边截取开始位置</param>
/// <returns></returns>
public static string Right(string sSource, int iLength)
{
if (string.IsNullOrEmpty(sSource))
{
return string.Empty;
}
else
{
if (iLength >= 0)
{
return sSource.Substring(iLength > sSource.Length ? 0 : sSource.Length - iLength);
}
else
{
return string.Empty;
}
}
}
/// <summary>
/// 查找字符
/// </summary>
/// <param name="sSource">源字符串</param>
/// <param name="iStart">开始查找位置</param>
/// <param name="iLength">要查找的字符长度</param>
/// <returns></returns>
public static string Mid(string sSource, int iStart, int iLength)
{
int iStartPoint = iStart > sSource.Length ? sSource.Length : iStart;
return sSource.Substring(iStartPoint, iStartPoint + iLength > sSource.Length ? sSource.Length - iStartPoint : iLength);
}