源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#中一些字符串操作的常用用法

  • 时间:2021-01-26 17:22 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#中一些字符串操作的常用用法
C#中一些字符串操作的常用用法 //获得汉字的区位码   byte[]array=newbyte[2];   array=System.Text.Encoding.Default.GetBytes("啊"); inti1=(short)(array[0]-''\0'');   inti2=(short)(array[1]-''\0''); //unicode解码方式下的汉字码   array=System.Text.Encoding.Unicode.GetBytes("啊");   i1=(short)(array[0]-''\0'');   i2=(short)(array[1]-''\0''); //unicode反解码为汉字   stringstr="4a55";   strings1=str.Substring(0,2);   strings2=str.Substring(2,2); intt1=Convert.ToInt32(s1,16);   intt2=Convert.ToInt32(s2,16); array[0]=(byte)t1;   array[1]=(byte)t2; strings=System.Text.Encoding.Unicode.GetString(array); //default方式反解码为汉字   array[0]=(byte)196;   array[1]=(byte)207;   s=System.Text.Encoding.Default.GetString(array); //取字符串长度   s="iam方枪枪";   intlen=s.Length;//willoutputas6   byte[]sarr=System.Text.Encoding.Default.GetBytes(s);   len=sarr.Length;//willoutputas3+3*2=9 //字符串相加   System.Text.StringBuildersb=newSystem.Text.StringBuilder("");   sb.Append("i");   sb.Append("am");   sb.Append("方枪枪"); //获取ASC码 int ASC(String Data)      {         byte[] b = System.Text.Encoding.Default.GetBytes(Data);          int p=0;          if(b.Length==1) //如果为英文字符直接返回         return (int)b[0];         for( int i = 0; i < b.Length; i++)         {              p = (int)b[ i ];              p = p * 256 + b[ i+1] - 65536;         }         return p;     } /// <summary>求字符串长度         /// 求字符串长度         /// </summary>         /// <param name="inputString"></param>         /// <returns></returns>         int len(String inputString)         {    string s=inputString;           int len=s.Length;//willoutputa s6           byte[]sarr=System.Text.Encoding.Default.GetBytes(s);           len=sarr.Length;//willoutputa s3+3*2=9             return len;         } //检测含有中文字符串的实际长度 str为要检测的字符串: ASCIIEncoding n = new ASCIIEncoding(); byte[] b = n.GetBytes(str); int l = 0; // l 为字符串之实际长度 for (int i=0;i <= b.Length-1;i++) { if (b[i] ==63) //判断是否为汉字或全脚符号 { l++; } l++; } //载字符串修正版(yaosansi)         /// <summary>         /// 截字符串         /// </summary>         /// <param name="inputString">所要截取的字符串</param>         /// <param name="len">要载得字符串的长度</param>         /// <returns></returns>         public static string CutString(string inputString,int len)         {             ASCIIEncoding ascii =  new ASCIIEncoding();             int tempLen=0;             string tempString="";             byte[] s = ascii.GetBytes(inputString);             for(int i=0;i<s.Length-1;i++)             {                 if((int)s[i]==63)                 {                     tempLen+=2;                 }                 else                 {                     tempLen+=1;                 }                 try                 {                     tempString+=inputString.Substring(i,1);                 }                 catch                 {                     break;                 }                 if(tempLen>len)                     break;             }             //如果截过则加上半个省略号             byte[] mybyte=System.Text.Encoding.Default.GetBytes(inputString);             if(mybyte.Length>len)                 tempString+="";             return tempString;         } //截取字符串(原稿) public static string CutString(string inputString,int len) { ASCIIEncoding ascii =  new ASCIIEncoding(); int tempLen=0; string tempString=""; byte[] s = ascii.GetBytes(inputString); for(int i=0;i<s.Length;i++) { if((int)s[i]==63) { tempLen+=2; } else { tempLen+=1; } try { tempString+=inputString.Substring(i,1); } catch { break; } if(tempLen>len) break; } //如果截过则加上半个省略号 byte[] mybyte=System.Text.Encoding.Default.GetBytes(inputString); if(mybyte.Length>len) tempString+="…"; return tempString; } //在C#中截取指定长度的中文字符串  privatestaticstringSubString(stringstringToSub,intlength){ Regexregex=newRegex("[\u4e00-\u9fa5]+",RegexOptions.Compiled); char[]stringChar=stringToSub.ToCharArray(); StringBuildersb=newStringBuilder(); intnLength=0; for(inti=0;i<stringChar.Length;i++){ if(regex.IsMatch((stringChar[i]).ToString())){ sb.Append(stringChar[i]); nLength+=2; } else{ sb.Append(stringChar[i]); nLength=nLength+1; } if(nLength>length) break; } returnsb.ToString(); }  ///////////////////////////////////////////////////////////////////// string-->bytearray byte[]data=Syste.Text.Encoding.ASCII.GetBytes(string); string-->byte bytedata=Convert.ToByte(string); byte[]-->string stringstring=Encoding.ASCII.GetString(bytes,0,nBytesSize);
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部