字串在網路程式設計中有著舉足輕重的作用,它用來提取資料報中有用的字段,同時也可以用來構造所要傳送的資料報,經過積累,我也找到了其中的一些竅門,跟大家分享。以下**均已c#為例。
原話是這樣講的,分割字串是指將已有的字串按照一定的規則進行分割,以獲取新形式的子字串。
例子:字串「ftp:是登陸ftp伺服器的標準格式。
其中admin是使用者名稱,
1111是密碼,
192.168.100.6是ip位址。請編寫一段**獲取
這個字串中的使用者名稱、密碼、伺服器位址。
string
str1 =@"
";char
sp =;
string
tempsplit
=str1.split(sp);
string
username
=tempsplit[3];
string
password
=tempsplit[4];
string
ip =
tempsplit[5];
注意:為什麼username是tempsplit[3]開始的呢?不清楚的話,可以通過以下**進行驗證。
stringstr1 =@"
";char
sp =;
string
tempsplit
=str1.split(sp);
foreach
(string
s in
tempsplit)
還是上面的那個例子,這次我用的是檢索字串的方法。msdn上說,string表示文字,一系列unicode字元,char表示乙個unicode字元。
stringstr1 =@"
";intindex1
=str1.indexof(
"ftp://")
+6;int
index2
=str1.lastindexof(":
") +1
;int
index3
=str1.indexof("@
") +1
;int
index4
=str1.length;
intusernamelength
=index2
-index1 -1
;int
passwordlength
=index3
-index2 -1
;int
iplength
=index4
-index3;
string
username
=str1.substring(index1, usernamelength);
string
password
=str1.substring(index2, passwordlength);
string
ip =
str1.substring(index3, iplength);
console.writeline(username);
console.writeline(password);
console.writeline(ip);
注意:我在使用這個方法的時候,開始把第二個引數當成結束的位置,在除錯的時候遇到很多困難。藉此引起注意,不要犯這種低階的錯誤,在對乙個方法不是完全了解的時候,可以先閱讀msdn和baidu、google。
stringbuilder sb=new
stringbuilder();
string
username ="
%d2%bb%c2%b7%bf%f1%ec%ad";
string
password ="
e10adc3949ba59abbe56e057f20f883e";
string
str1 ="
formhash=3e58f988&loginfield=username&username=";
string
str2 ="
&password=";
string
str3 ="
&questionid=0&answer=&cookietime=2592000
"
在對字串操作的時候,還有一把銳利的「瑞士軍刀」—正規表示式。等我學習了以後再來分享學習的成果。
C 中如何正確的操作字串?
字串應該是所有程式語言中使用最頻繁的一種基礎資料型別。如果使用不慎,我們就會為一次字串的操作所帶來的額外效能開銷而付出代價。本條建議將從兩個方面來 如何規避這類效能開銷 1.確保盡量少的裝箱 2.避免分配額外的記憶體空間。第乙個方面 確保盡量少的裝箱 對於裝拆箱,我們應該不陌生,值型別轉換成引用型別...
c 字串的操作
include include using namespace std string 型別 初始化string物件的方式 string str1 str1為空字串 string str2 abc 用字串字面值初始化str2 string str3 str2 將str3初始化為str2的乙個副本 st...
c 字串操作
獲得漢字的區位碼 bytearray newbyte 2 求字串長度 求字串長度 int len string inputstring 檢測含有中文字串的實際長度 str為要檢測的字串 asciiencoding n new asciiencoding byte b n.getbytes str i...