字串操作類

來源:互聯網
上載者:User

字串操作類
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

/// <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;
  }
 
}
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.