C 基礎加強 字串

2021-06-05 18:49:34 字數 3238 閱讀 7568

1、字串的定義:string ;

= ;

或者: string = ;

字串是引用型別,在定義string ;的時候在棧空間中,定義了乙個的空間,該空間存放乙個位址;當寫到= "hello";的時候,會在堆記憶體中分配乙個空間,存放字串「hello」,並將首位址賦值給,因此指向定義的字串。

2、字串的宣告:

字串string對應msil(cts)中的string,實際上是乙個類。string = new string(); 或者 string = new string(new char);

注意:這裡string 與 string 得到的效果一樣;

字串是不可變的,在記憶體中字串一旦生成,將不會改變,即使之前使用的str1 + str2也只是生成了另乙個字串。那怎麼修改字串?

.tochararray();該方法會將字串,變成乙個char型別的陣列,因此需要用乙個char型別的陣列接收。

如:修改乙個字串裡面的內容 char ch = .tochararray();// 處理字元陣列,完成修改目的

= new string(ch) // 為修改後的字串

3、字串可以用索引訪問:

字串,原本就是排在一起的字元,c#提供了用「下標」(索引)來訪問字串中的字元。 string str = "jiangkun"; 字串有 length屬性,用str.length 可以獲得str字串的長度。

char temp = str[5];//訪問str字串中的第五個字元,並賦值給字元變數temp

4、字串常用屬性:

string.empty//empty 為空字串

string.isnullorempty(str)  //判斷str字串是否為null或者為空字串

5、常見的字串的方法:

字串轉換大小寫(字元)

string .toupper();

string .tolower();

移除首尾制定字元

string .trim();//移除首尾空格

string .trimstart();//移除開頭的空格

string .trimend();//移除結尾處空格

string .trim(char ch);//char陣列中為要移除的內容

字串的比較

int string.compare(string str1, string str2);//按照字典排序比較

當 str1 > str2 時,返回 1;

當 str1 = str2 時,返回 0;

當 str1 < str2 時,返回-1;

int string.compare(string str1,string str2,bool ignorecase)//ignorecase表示是否區分大小寫。true為不區分大小寫,預設為false

bool .equals(string str) //str1 == str2 則返回true,否則返回false;

bool .equals(string str,stringcomparison.ordinalignorecase)為比較是不區分大小寫

如果僅僅是比較兩個字串是否相等,還是使用「==」比較簡單。 bool isequal = str1.tolower()==str2.tolower();//不考慮大小寫

字串的合併

string string.join(string str,string strarr);//將陣列strarr中的內容拼接成乙個字串,並在對應陣列的每兩項間新增分隔符str

字串的分割

string .split(params char separator);//將字串以separator陣列中的字元分割,分割後得到的內容存到個陣列中

string .split(params char separator,stringsplitoptions.removeemptyentries);//去掉返回的陣列中可能存在的空字串

字串查詢

bool .contains(string str);表示字串中是否包含str,如果包含,返回true,否則返回false

int .indexof(string str)//從頭開始,出現第一次的下標,從左到右執行查詢

int .indexof(string str,int startindex);//從startindex開始,出現第一次的下標,如果沒有找到則返回-1

int .lastindexof(string str[,int startindex]);返回字元str在中最後一次出現的位置,從右到左執行查詢

int .indexofany(char anyof,int startindex)//尋找字元陣列中的所有內容,返回第乙個的位置

求字串

string .substring(int startindex,int length)//從字串的startindex位置開始提取長度為length的字串,如果省略了length,則表示一直到最後

字串插入

string  .insert(int index,string str)//在的index位置上插入str.原來的字元一次後移,變成乙個新的字串

字串移除

string .remove(int startindex,int length)//在字串中移除startindex開始,長度為length的字串,剩下的字元按原序合併為乙個新的字串,如果省略了length,則表示移除startindex 後的所有字元

字串替換

string .replace(char oldchar,char newchar)  //字元替換

string .replace(string oldstring,string newstring)//字串替換

判斷字串的結束與開始

bool .startwith(string str);//判斷是否以字串str開始的

bool .endwith(string str);//判斷是否以字串str的結束的

C字串基礎

include include int main printf s n name mhm printf s n name2 12mhm,說明從低位址一直往高位址讀,一直讀到 0為止 printf p n name c68 printf p n name2 c66 通過以上倆位址,可以看出,name先...

C 基礎 字串

字串比較,stra.compareto strb a大於b 正數 a小於b 負數 a等於b 0 string stra ab string strb jk int intresult stra.compareto strb console.writeline intresult 查詢字串的位置 in...

字串基礎

一 字串的三種形式 1.雙引號之間的字串 結尾自動新增 0 2.以 0 結尾的字串陣列。3.string stl 這裡不做過多解釋,以後再做詳解。二 字串的輸入輸出 1.scanf 遇見空格 換行輸入結束。回車時自動新增 0 在處理字元時,輸入回車或者空格,這些字元會寫入輸入流中,儲存在輸入流中,下...