StringUtil.cs
上传用户:autodoor
上传日期:2022-08-04
资源大小:9973k
文件大小:7k
- using System;
- namespace qminoa.Common
- {
- /// <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;
- }
- }
- }