字符串操作类

字符串操作类
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;
  }
 
}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值