C 如何有效的操作字串

2022-03-28 12:37:48 字數 2418 閱讀 4041

字串在網路程式設計中有著舉足輕重的作用,它用來提取資料報中有用的字段,同時也可以用來構造所要傳送的資料報,經過積累,我也找到了其中的一些竅門,跟大家分享。以下**均已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]開始的呢?不清楚的話,可以通過以下**進行驗證。

string

str1 =@"

";char

sp =;

string

tempsplit

=str1.split(sp);

foreach

(string

s in

tempsplit)

還是上面的那個例子,這次我用的是檢索字串的方法。msdn上說,string表示文字,一系列unicode字元,char表示乙個unicode字元。

string

str1 =@"

";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...