C 揭秘 操作字串的方法彙總(5 1)

2022-07-17 16:24:15 字數 4905 閱讀 4190

字串是c#內建型別中唯一的引用型別。它具有2個特性:不可變性和密封性。

tips:使用智慧型感知找到過載方法

舉個例子,如果你輸入str,輸入句點.自動填充好字串,輸入c,並且輸入左括號(來填充好compare,可以看到彈出的智慧型感知。在智慧型感知彈出框的左側,會看到上下箭頭,標記為1-8,可以按鍵盤上下箭頭來遍歷所有可用的過載方法。

5.1.1 格式化字串

字串方法format可以自定義字串的外觀,返回型別為乙個新字串。

string str2 = "

string 2";

string formatstring = "";

string strresult = string

.format(formatstring, str2);

console.writeline(

"string.format(, ) = \n

", formatstring, str2, strresult);

這個例子演示了format方法接受兩個字串引數,第乙個引數format string是乙個格式項,它將應應用到第二個引數上,下面是輸出:

string.format(, string 2) = [       string 2]

如果將15改為-15,結果會左對齊[string 2       ]。

strresult = string.format("

currency: , hex: ''

", 10

); console.writeline(strresult);

格式化字串允許索引有乙個冒號分隔符。格式化項的結果是貨幣輸出。hex格式化項既設定了輸出大小,又進行了十六進製制轉換。這次只有乙個引數10,但是有兩個格式化項,它們都設為索引0,下面是輸出:

currency: $10.00, hex: ' a'

如果計算機設定為其他地區,輸出將符合你的貨幣符號和其他的標點符號。

標準數字格式化字串

標準數字格式化字串

含義c或者c

貨幣d或d

小數e或e

指數f或f

固定點g或g

常規n或n

數字p或p

百分比r或r

往返(確保將浮點轉換為字串,或將字串轉換為符點)

x或x十六進製制

自定義數字格式化字串

自定義數字格式化字串含義0

0佔位符

#數字佔位符

.小數點

,千位分隔符

%百分比佔位符

e/e +/- 0 (比如,e+0)

科學計數法

\轉義符

"xyz"或'xyz'

文字字串

;段分隔符

其他按其顯示的文字

5.1.2 比較字串

compare方法:接受兩個字串引數,並且返回int結果如下:

compareordinal方法:比較兩個字串,而與其本地化無關。

compareto方法:比較了當前例項與引數字串的值。它產生下面的整數結果:

5.1.3 檢查字串是否相等

檢查字串是否相等的乙個快速且常見的方法是使用==操作符。

另外,還可以通過例項或者靜態equals方法來檢查是否相等。

eg:靜態equals方法 boolresult=string.equals(str1, str2);

例項equals方法 boolresult=str1.equals(str2);

5.1.4 連線字串

連線操作符+   eg: strresult=str1+","+str2;

concat方法  eg: strresult=string.concat(str1, str2);

5.1.5 複製字串

copy方法用來返回字串的副本

string str1 = "

string 1";

string

strresult;

strresult = string

.copy(str1);

console.writeline(

"string.copy() =

", str1, strresult);

輸出結果為:

string.copy(string 1) = string 1;

這個例子說明了copy方法建立了str1的乙個副本,結果是str1的副本放置到了strresult中,與strresult = str1; 是不同的。copy建立了字串的乙個新的例項。

2. copyto方法:如果不想複製整個字串,只想複製乙個子集,可用這個方法,它會將字串中特定數目的字元複製到字元陣列。

char chararr = new

char

[str1.length];

str1.copyto(

0, chararr, 0

, str1.length);

console.writeline(

".copyto(0, chararr, 0, str.length) =

", str1);

foreach (char character in

chararr)

", character);

}console.writeline("\n

");

輸出如下:

string 1.copyto(0, chararr, 0, str1.length) =

s t r i n g   1

3. clone方法:返回字串的乙個副本。clone方法返回乙個引用,該引用指向的例項與呼叫clone方法的例項相同,與=(賦值)操作符相同。因為clone方法返回乙個object引用,所以返回值在賦值之前,必須強制轉換為字串。eg: strresult=(string)str1.clone();

5.1.6 檢查字串內容

startwith方法:用來確定乙個字串字首是否與乙個特定字串匹配。

endswith方法:用來判斷乙個字串字尾是否與某乙個特定字串匹配。

contains方法:如果並不限制子字串是位於字串的起始或者末尾,可用此方法。

5.1.7 提取字串的資訊

indexof方法:返回字串的位置。如果沒有找到,返回-1.字串的出現位置是以0為基準。

lastindexof方法:返回乙個字串或者一組字元在字串中最後出現的位置。

substring方法:從字串的指定位置獲取子字串。第乙個引數是起始位置,第二個引數為長度。

5.1.8 填充和移動字串輸出

padleft方法:右對齊字串的字元,使用空格(預設)或者指定字元填充左側。

padright方法:左對齊字串的字元,使用空格(預設)或者指定字元填充右側。

trim方法:從乙個字串的起始或末尾移除空白字元或者指定的字符集。如果只關心移除字串的一邊,也可以使用trimend或者trimstart.

5.1.9 更改字串的內容

insert方法:返回乙個字串,在初始字串的指定位置放置了乙個指定的字串。

remove方法:從字串的某一位置刪除指定數目的字元。

replace方法:用來將出現的所有字元或者字串替換為乙個新的字元或者字串。

tolower方法:返回乙個轉換為小寫字元的字串副本。

toupper方法:返回乙個轉換為大定字元的字串副本。

tips:修改字串

嚴格地說,我們從未真正修改過字串。字串是不可變的,這意味著它無法改動。呼叫例如insert, remove或者replace這樣的方法時,實際上是clr建立了乙個新的字串物件,並且返回對這個新字串物件的引用。初始的字串物件從未改變過。

任何時候看到在字串上進行了這些操作,認為它應該改變的時候,都應該記住:事實上,只是將操作的結果賦值給了乙個新的字串變數。賦值字串操作的結果給同樣的變數也有效,它公公是將新字串物件的引用賦值給了同樣的變數。

5.1.10 分離和結合字串

split方法:提取由特定字符集分隔的單獨字串,並且將這些字串中的每乙個都放置到乙個字串陣列中。

join方法:使用乙個位於兩個字串之間的特定分隔符來連線它們。john方法是靜態的,你需要在string型別上呼叫它。

5.1.11 操作字串字元

length屬性:返回字串中字元的數目。

字串索引器:返回字串中指定位置的字元。索引器就是一對方括號,通常在陣列中使用,用於訪問物件中的元素。eg:str1[3]

tochararray方法:從乙個字串中將字元複製到乙個字元陣列中。

5.1.12 通過駐留池影響clr字串處理

intern方法:返回乙個字串的引用,該字串位於乙個稱作駐留池(intern pool)的地方。該方法接受乙個以程式設計方式建立的字串引數,並且返回駐留池中對同一字串的引用。

string str1 = "

string 1";

string objstr1 = string.concat("

string

", "1"

);

string internedstr1 = string

.intern(objstr1);

console.writeline(

"(object)objstr1 == (object)str1 is \n",

((object)objstr1 == (object

)str1));

console.writeline(

"(object)internedstr1 == (object)str1 is \n",

((object)internedstr1 == (object)str1));

第乙個結果是false,第二個結果是true。詳情見p82.

字串方法彙總

1.定義字串直接量 var s abc 2.構造字串 var s new string 建立空字串 var s new string adafwv 字串初始化 3.計算字串長度s.length 注意 字串長度不可以像陣列一樣動態增長,但可使用下標來定義單個字元 4.查詢字串 charat 返回字串中...

SQL字串操作彙總

將字串中從某個字元開始擷取一段字元,然後將另外乙個字串插入此處 select stuff hello,world 4,4,返回值hel orld 返回從指定位置開始指定長度的字串 select substring hello,world 2,10 返回值ello,world 將字串中某段字元替換為指...

C 擷取字串的方法彙總

1.根據單個分隔字元用split擷取 string st gt123 1 string sarray st.split 結果sarray 0 gt123 sarray 1 1 2.利用多個字元來分隔字串 string str gtazb jiangjben 123 string sarray str...