using System;namespace Web.StringUtil...{ /**//// <summary> /// 字符串操作工具集 /// </summary> public class StringUtil ...{ public StringUtil() ...{ // // TODO: 在此处添加构造函数逻辑 // } /**//// <summary> /// 从字符串中的尾部删除指定的字符串 /// </summary> /// <param name="sourceString"></param> /// <param name="removedString"></param> /// <returns></returns> public static string Remove(string sourceString,string removedString) ...{ try ...{ if( sourceString.IndexOf(removedString) < 0 ) ...{ throw new Exception("原字符串中不包含移除字符串!"); } string result = sourceString; int lengthOfSourceString = sourceString.Length; int lengthOfRemovedString = removedString.Length; int startIndex = lengthOfSourceString - lengthOfRemovedString; string tempSubString = sourceString.Substring(startIndex); if(tempSubString.ToUpper() == removedString.ToUpper()) ...{ result = sourceString.Remove(startIndex,lengthOfRemovedString); } return result; } catch ...{ return sourceString; } } /**//// <summary> /// 获取拆分符右边的字符串 /// </summary> /// <param name="sourceString"></param> /// <param name="splitChar"></param> /// <returns></returns> public static string RightSplit(string sourceString, char splitChar) ...{ string result=null; string[] tempString = sourceString.Split(splitChar); if(tempString.Length >0) ...{ result = tempString[tempString.Length-1].ToString(); } return result; } /**//// <summary> /// 获取拆分符左边的字符串 /// </summary> /// <param name="sourceString"></param> /// <param name="splitChar"></param> /// <returns></returns> public static string LeftSplit(string sourceString, char splitChar) ...{ string result=null; string[] tempString = sourceString.Split(splitChar); if(tempString.Length >0) ...{ result = tempString[0].ToString(); } return result; } /**//// <summary> /// 去掉最后一个逗号 /// </summary> /// <param name="origin"></param> /// <returns></returns> public static string DelLastComma(string origin) ...{ if(origin.IndexOf(",") == -1) ...{ return origin; } return origin.Substring(0,origin.LastIndexOf(",")); } /**//// <summary> /// 删除不可见字符 /// </summary> /// <param name="sourceString"></param> /// <returns></returns> public static string DeleteUnVisibleChar(string sourceString) ...{ System.Text.StringBuilder sBuilder = new System.Text.StringBuilder(131); for(int i = 0;i < sourceString.Length; i++) ...{ int Unicode = sourceString[i]; if(Unicode >= 16) ...{ sBuilder.Append(sourceString[i].ToString()); } } return sBuilder.ToString(); } /**//// <summary> /// 获取数组元素的合并字符串 /// </summary> /// <param name="stringArray"></param> /// <returns></returns> public static string GetArrayString(string[] stringArray) ...{ string totalString = null; for(int i=0;i<stringArray.Length;i++) ...{ totalString = totalString + stringArray[i]; } return totalString; } /**//// <summary> /// 获取某一字符串在字符串数组中出现的次数 /// </summary> /// <param name="stringArray" type="string[]"> /// <para> /// /// </para> /// </param> /// <param name="findString" type="string"> /// <para> /// /// </para> /// </param> /// <returns> /// A int value /// </returns> public static int GetStringCount(string[] stringArray,string findString) ...{ int count = -1; string totalString = GetArrayString(stringArray); string subString = totalString; while(subString.IndexOf(findString)>=0) ...{ subString = totalString.Substring(subString.IndexOf(findString)); count += 1; } return count; } /**//// <summary> /// 获取某一字符串在字符串中出现的次数 /// </summary> /// <param name="stringArray" type="string"> /// <para> /// 原字符串 /// </para> /// </param> /// <param name="findString" type="string"> /// <para> /// 匹配字符串 /// </para> /// </param> /// <returns> /// 匹配字符串数量 /// </returns> public static int GetStringCount(string sourceString,string findString) ...{ int count = 0; int findStringLength = findString.Length; string subString = sourceString; while(subString.IndexOf(findString)>=0) ...{ subString = subString.Substring(subString.IndexOf(findString)+findStringLength); count += 1; } return count; } /**//// <summary> /// 截取从startString开始到原字符串结尾的所有字符 /// </summary> /// <param name="sourceString" type="string"> /// <para> /// /// </para> /// </param> /// <param name="startString" type="string"> /// <para> /// /// </para> /// </param> /// <returns> /// A string value /// </returns> public static string GetSubString(string sourceString,string startString) ...{ try ...{ int index = sourceString.ToUpper().IndexOf(startString); if(index>0) ...{ return sourceString.Substring(index); } return sourceString; } catch ...{ return ""; } } public static string GetSubString(string sourceString,string beginRemovedString,string endRemovedString) ...{ try ...{ if(sourceString.IndexOf(beginRemovedString)!=0) ...{ beginRemovedString = ""; } if(sourceString.LastIndexOf(endRemovedString,sourceString.Length - endRemovedString.Length)<0) ...{ endRemovedString = ""; } int startIndex = beginRemovedString.Length; int length = sourceString.Length - beginRemovedString.Length - endRemovedString.Length ; if(length>0) ...{ return sourceString.Substring(startIndex,length); } return sourceString; } catch ...{ return sourceString;; } } /**//// <summary> /// 按字节数取出字符串的长度 /// </summary> /// <param name="strTmp">要计算的字符串</param> /// <returns>字符串的字节数</returns> public static int GetByteCount(string strTmp) ...{ int intCharCount=0; for(int i=0;i<strTmp.Length;i++) ...{ if(System.Text.UTF8Encoding.UTF8.GetByteCount(strTmp.Substring(i,1))==3) ...{ intCharCount=intCharCount+2; } else ...{ intCharCount=intCharCount+1; } } return intCharCount; } /**//// <summary> /// 按字节数要在字符串的位置 /// </summary> /// <param name="intIns">字符串的位置</param> /// <param name="strTmp">要计算的字符串</param> /// <returns>字节的位置</returns> public static int GetByteIndex(int intIns,string strTmp) ...{ int intReIns=0; if(strTmp.Trim()=="") ...{ return intIns; } for(int i=0;i<strTmp.Length;i++) ...{ if(System.Text.UTF8Encoding.UTF8.GetByteCount(strTmp.Substring(i,1))==3) ...{ intReIns=intReIns+2; } else ...{ intReIns=intReIns+1; } if(intReIns>=intIns) ...{ intReIns=i+1; break; } } return intReIns; } }}