C#中一些字符串操作的常用用法
更新時(shí)間:2007年03月09日 00:00:00 作者:
C#中一些字符串操作的常用用法
//獲得漢字的區(qū)位碼
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);
//取字符串長(zhǎng)度
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>求字符串長(zhǎng)度
/// 求字符串長(zhǎng)度
/// </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;
}
//檢測(cè)含有中文字符串的實(shí)際長(zhǎng)度
str為要檢測(cè)的字符串:
ASCIIEncoding n = new ASCIIEncoding();
byte[] b = n.GetBytes(str);
int l = 0; // l 為字符串之實(shí)際長(zhǎng)度
for (int i=0;i <= b.Length-1;i++)
{
if (b[i] ==63) //判斷是否為漢字或全腳符號(hào)
{
l++;
}
l++;
}
//載字符串修正版(yaosansi)
/// <summary>
/// 截字符串
/// </summary>
/// <param name="inputString">所要截取的字符串</param>
/// <param name="len">要載得字符串的長(zhǎng)度</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;
}
//如果截過(guò)則加上半個(gè)省略號(hào)
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;
}
//如果截過(guò)則加上半個(gè)省略號(hào)
byte[] mybyte=System.Text.Encoding.Default.GetBytes(inputString);
if(mybyte.Length>len)
tempString+="…";
return tempString;
}
//在C#中截取指定長(zhǎng)度的中文字符串
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);
//獲得漢字的區(qū)位碼
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);
//取字符串長(zhǎng)度
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>求字符串長(zhǎng)度
/// 求字符串長(zhǎng)度
/// </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;
}
//檢測(cè)含有中文字符串的實(shí)際長(zhǎng)度
str為要檢測(cè)的字符串:
ASCIIEncoding n = new ASCIIEncoding();
byte[] b = n.GetBytes(str);
int l = 0; // l 為字符串之實(shí)際長(zhǎng)度
for (int i=0;i <= b.Length-1;i++)
{
if (b[i] ==63) //判斷是否為漢字或全腳符號(hào)
{
l++;
}
l++;
}
//載字符串修正版(yaosansi)
/// <summary>
/// 截字符串
/// </summary>
/// <param name="inputString">所要截取的字符串</param>
/// <param name="len">要載得字符串的長(zhǎng)度</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;
}
//如果截過(guò)則加上半個(gè)省略號(hào)
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;
}
//如果截過(guò)則加上半個(gè)省略號(hào)
byte[] mybyte=System.Text.Encoding.Default.GetBytes(inputString);
if(mybyte.Length>len)
tempString+="…";
return tempString;
}
//在C#中截取指定長(zhǎng)度的中文字符串
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);
相關(guān)文章
c#利用Session對(duì)象實(shí)現(xiàn)購(gòu)物車的方法示例
這篇文章主要介紹了c#利用Session對(duì)象實(shí)現(xiàn)購(gòu)物車的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02C#調(diào)用Windows的API實(shí)現(xiàn)窗體動(dòng)畫(huà)
在VF、VB、PB的應(yīng)用中,有些無(wú)法通過(guò)語(yǔ)言工具本身來(lái)完成的或者做得不理想的功能,我們會(huì)考慮通過(guò)Windows的API來(lái)完成。本文就來(lái)通過(guò)調(diào)用Windows的API實(shí)現(xiàn)窗體動(dòng)畫(huà),感興趣的可以嘗試一下2022-11-11c#實(shí)現(xiàn)用SQL池,多線程定時(shí)批量執(zhí)行SQL語(yǔ)句的方法
構(gòu)建SQL池,分離業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層,讓業(yè)務(wù)邏輯層從低效的數(shù)據(jù)庫(kù)操作解脫,以提高系統(tǒng)整體性能2013-10-10C#運(yùn)算符之與,或,異或及移位運(yùn)算小結(jié)
本文是對(duì)C#中的與,或,異或及移位運(yùn)算進(jìn)行了詳細(xì)的介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-10-10