c 常用字串操作

2022-03-10 03:12:41 字數 3704 閱讀 8849

摘自

//獲得漢字的區位碼

byte array = new byte[2];

array = system.text.encoding.default.getbytes("啊");

int i1 = (short)(array[0] - ''\0'');

int i2 = (short)(array[1] - ''\0'');

//unicode解碼方式下的漢字碼

array = system.text.encoding.unicode.getbytes("啊");

i1 = (short)(array[0] - ''\0'');

i2 = (short)(array[1] - ''\0'');

//unicode反解碼為漢字

string str = "4a55";

string s1 = str.substring(0,2);

string s2 = str.substring(2,2);

int t1 = convert.toint32(s1,16);

int t2 = convert.toint32(s2,16);

array[0] = (byte)t1;

array[1] = (byte)t2;

string s = system.text.encoding.unicode.getstring(array);

//default方式反解碼為漢字

array[0] = (byte)196;

array[1] = (byte)207;

s = system.text.encoding.default.getstring(array);

//取字串長度

s = "iam方槍槍";

int len = s.length;//will output as 6

byte sarr = system.text.encoding.default.getbytes(s);

len = sarr.length;//will output as 3+3*2=9

string --> byte array

byte data=syste.text.encoding.ascii.getbytes(string);

string --> byte

byte data = convert.tobyte(string);

byte-->string

string string = encoding.ascii.getstring( bytes, 0, nbytessize );

c#中如何實現左擷取和右擷取字串?

s.substring(0,i) 返回 左邊的i個字元

s.substring(s.length-i,i) 返回 右邊的i個字元

int i=2;

string s="123456";

textbox1.text=s.substring(0,i);

textbox2.text=s.substring(s.length-i,i);

textbox1為"12"

textbox2為"56"

c#字串是使用string關鍵字宣告的乙個字元陣列,字串是用引號宣告的.

字串物件是"不可變的",即它們一旦被建立後就無法更改,對字串操作的方法實際上返回的是新的字串物件.如:

s1 += s2;//原s1與s2中的字元均保持不變.

//+=運算子會建立乙個包含s1,s2組合內容的新字串,結果是變數s1引用乙個完全不同的字串,原s1中的字串依然存在,只是,變數s1已經不再指向它.

轉義符字串中可以包含轉義符,如「\n」(新行)和「\t」(製表符)。

string filepath = "\\\\my documents\\";//\\my documents\

@ 符號會告知字串建構函式忽略轉義符和分行符。

tostring()如同所有從 object 派生的物件一樣,字串也提供了 tostring 方法,用於將值轉換為字串。此方法可用於將數值轉換為字串.

字串中所包含的各個字元可以使用以下方法進行訪問,如 substring()、replace(),、split() 和 trim()。

system.console.writeline(s3.substring(7, 2));         // outputs "c#",注意,位置應從0開始算

system.console.writeline(s3.replace("c#", "basic"));  // outputs "visual basic express"

string s4 = "hello, world";

char arr = s4.tochararray(0, s4.length);//將字元複製到字元陣列

可以用索引訪問字串中的各個字元:

string s5 = "printing backwards";

for (int i = 0; i < s5.length; i++)

將字串中的字母更改為大寫或小寫,可以使用 toupper() 或 tolower()

比較兩個字串的最簡單方法是使用 == 和 != 運算子,執行區分大小寫的比較。

字串物件也有乙個 compareto() 方法,它根據某個字串是否小於 (<) 或大於 (>) 另乙個,返回乙個整數值。比較字串時使用 unicode 值,小寫的值小於大寫的值。

若要在乙個字串中搜尋另乙個字串,可以使用 indexof()。如果未找到搜尋字串,indexof() 返回 -1;否則,返回它出現的第乙個位置的索引(從零開始)。

將字串拆分為子字串(如將句子拆分為各個單詞)是乙個常見的程式設計任務。split() 方法使用分隔符(如空格字元)char 陣列,並返回乙個子字串陣列。您可以使用 foreach 訪問此陣列,如下所示:

char delimit = new char ;

string s10 = "the cat sat on the mat.";

foreach (string substr in s10.split(delimit))

stringbuilder

類建立了乙個字串緩衝區,用於在程式執行大量字串操作時提供更好的效能。stringbuilder

字串還允許您重新分配個別字元,這些字元是內建字串資料型別所不支援的。例如,此**在不建立新字串的情況下更改了乙個字串的內容:

system.text.stringbuilder sb = new system.text.stringbuilder("rat: the ideal pet");

sb[0] = 'c';

//sb[0] = sb[9];//output eat: the ideal pet

system.console.writeline(sb.tostring());

system.console.readline();

將char轉為string:

char chars = str.tochararray();

//......

string str2 = new string(chars);

字串年月日 時

分",temp.year,temp.month,temp.day,currtime.truanttime.hour,currtime.truanttime.minute); 

//一些正規表示式 

internet位址表示式 

C 常用字串操作

獲得漢字的區位碼 byte array new byte 2 array system.text.encoding.default.getbytes 啊 int i1 short array 0 0 int i2 short array 1 0 unicode解碼方式下的漢字碼 array syst...

C 常用字串操作整理

c 常用字串操作匯集 string str1 ttt 建立並初始化 string str2 txhe 另一種方式 char str3 abcdefg 以定義字元陣列的方式建立 cout string str4 str3 cout string str5 str3,3,4 cout 將前三個字元作為初...

mysql常用字串 MYSQL常用字串函式寶典

mysql常用字串函式 想更進一步加強自己在查詢語句方面的能力,需要掌握常用函式。字串函式 1 concat s1,s2,sn 將s1,s2,sn串聯成乙個字串。exp root test 14 43 desc t1 field type null key default extra id int ...