C#字符串處理

string字符串是char的集合,而char是Unicode的代碼,所以char可以轉化爲int。
字符串在參數傳遞時爲引用傳遞;可以使用空字符串(”")。
一、字符串類型轉換
1.轉爲char
可以用索引器來得到字符串中指定的字符,如:
string myString=”hello”;
char myChars;
myChars=myString[0];
要想得到一個char數組可以用如下方法:

char[] myChars = myString.ToCharArray();

char[]與string的不同之處在於char[]可以讀寫,而string只能讀(改寫只是對他的重構)
2.轉爲bety
byte[] bytStr = System.Text.Encoding.Default.GetBytes(str);
反轉:
string string = Syste.Text.Encoding.ASCII.GetString( bytes, 0, nBytesSize );
3.轉爲int
int.parse(str);
4.轉爲string
用基類提供能的Tostring,如:
123.Tostring();
5.其他轉化
Convert.To***(str);如:
Convert.ToInt32(”123″);
Convert.ToBoolean(”123″);
Convert.ToBoolean(”false”);
Convert是一個形式轉換的類,不止能轉字符串,我們可以用它的靜態方法實現好多類型轉換
6.轉義字符
單個的char用”\”,字符可以用”@”
例如:@”C:\WINDOWS\system32″ 和 “C:\\WINDOWS\\system32″ 是等價的

二、常見字符串處理方法
1.字符串比較
字符串.ComparTo(目標字符串)
“a”.ComparTo(”b”);
2.查找子串
字符串.IndexOf(子串,查找其實位置) ;
字符串.LastIndexOf(子串) ;最後一次出現的位置
str.IndexOf(”ab”,0);
3.插入子串
字符串.Insert(插入位置,插入子串) ;
s.Insert(2,”ab”);
4.移出子串
字符串.Remove(其實位置,移出數);
s.Remove(3,2);
5.替換子串
字符串.Replace(源子串,替換爲);
s.Replace(”-”,” “);將-替換爲空格
6.截取子串
字符串.Substring(截取其實位置,截取個數);
“abcdef”.Substring(2,3);結果爲cde
7.去空格
myString = myString.Trim(); //同時刪除字符串前後的空格
char[] trimChars = {’ ‘,’e’,’s’}; //準備刪除的字符
myString = myString.Trim(trimChars); //刪除所有指定字符
myString = myString.TrimEnd(); //刪除字符串後的空格
myString = myString.TrimStart(); //刪除字符串前的空格
8.轉換大小寫
str.ToLower()轉化成小寫字母
str.ToUpper()轉化成大寫字母
Char.IsUpper(str,3)//判斷一個字符串中的第n個字符是否是大寫
9.拆分字符串
string[] Strs = myString.Split(’ ‘,3); //按照空格進行拆分,並且返回前三個字符串,結果在字符串數組裏
10.使字串達到指定長度
PadLeft()、PadRight() ,如:
string str1=”00″;
str1=str1.PadLeft(3,’1′); //無第二參數爲加空格,結果爲“100”
11.得到字符串長度
len=str.Length;
12.字符串遍歷
string myString = “This is a test!”;
foreach (char myChar in myString)
{
Console.Write(”{0}”,myChar);
}
其他方法見MSDN

轉載請註明文章來自http://hi.baidu.com/chunquedong

首先介紹一下常用的幾個功能:

compare(str1,str2)——比較兩個字符串 str1,str2的大小,如果大於返回正數,等於返回0,小於返回負數!

indexof——定位字符串中第一次出現某個給定字符串的位置
PadLeft和PadRight——在字符串的開始和結尾用指定的字符填充字符串
ToLower和ToUpper把字符串轉換爲小寫或大寫形式
Trim——刪除首尾空白
String.Replace——用指定的字符替換字符串中的指定字符。
C#中字符串的建立過程:
例如定義變量 strT=”Welcome to “;
strT+=”www.sinory.com”;
程序首先創建一個System.String 類型的對象並初始化爲“Welcome to”。此時編譯程度會分配足夠的內存來保存這個文本串。並用變量strT來表示這個實例。當執行strT+=”www.sinory.com”時,系統會創建一個新的實例,並分配足夠的內存來保存複合後的文本。然後用變量strT來表示這個新的字符
串,就的字符串被撤消。當要進行大規模的字符替換與調整操作時,使用字符串來操作將嚴重影響性能。在這中情況下就可以用System.Text.StringBuilder類。

    StringBuilder類並沒有String 類的功能強大,只提供基本的替換和添加和刪除字符串中的文本,但它的工作效率非常高,當定義StringBuilder對象時可以指定內存的內存容量,如果不指定系統就會根據對象初始化時的字符串長度來確定。它有兩個主要參數Length和Capacity分別表示字符串的實際長度和字符串佔據的內存空間長度。對字符串的修改就是在這個內存中進行的,大大提高了添加和替換的的效率。
如定義:StringBuilder sb=new StringBuilder(”Hello,Welcome”,100);//初始化對象並設置初始容量爲100
      sb.Append(” to www.sinory.com”);
      sb.Replace(old,new);//將old替換爲new,作用與String.Replace()一樣只是不需要在過程中複製字符。
StringBuilder的成員:
    StringBuilder sb=new StringBuilder(”www.sinory.com”);//定義初值爲www.sinory.com的對象。
    StringBuilder sb=new StringBuilder(20);初始化容量爲20的空對象。
    另外StringBuilder還有MaxCapacity屬性用來限定對象可以使用的最大容量。默認大約是int.MaxValue(20億)
    可以在使用過程中定義sb.MaxCapacity=value;
    sb.Append(),給當前字符串追加字符串。
    sb.AppendFormat()——添加特定格式的字符串
    sb.Insert()——插入一個子字符串
    sb.Remove()——從當前字符串刪除字符
    sb.Replace()——替換字符串中指定的字符
    sb.ToString()——將sb轉化爲String 對象
來源:www.sinory.com 作者:sjklaus

String類型可以看作是char變量的只讀數組。

//string類型變量可以看作char變量的只讀數組的使用

string myString = “A string”;

//使用數組變量的ToCharArray()命令將string變量myString變量的字符串值賦給

//char類型的數組myChar爲元素

char[] myChars = myString.ToCharArray();//ToCharArray()命令把字符串值轉換成char數組元素

foreach (char myChar in myChars)//讀取數組元素

{

Console.WriteLine(”{0}”,myChar);//或(myChar)

}

//string類型變量可以看作char變量的只讀數組的使用

Console.WriteLine(”請輸入要轉換的字符串,把其轉換爲char數組元素”);

string myString = Console.ReadLine();//從屏幕得到字符串

Console.WriteLine(”你輸入的字符串長度爲:{0}”,myString .Length );//獲取字符串的長度

//使用數組變量的ToCharArray()命令將string變量myString變量的字符串值賦給

//char類型的數組myChar爲元素

char[] myChars = myString.ToCharArray();//ToCharArray()命令把字符串值轉換成char數組元素

foreach (char myChar in myChars)//讀取數組元素

{
Console.WriteLine(”{0}”,myChar);//或(myChar)
}

//字符串大小寫轉換
Console.WriteLine(”請輸入字母字符串:”);
string myString =Console.ReadLine();
//myString = myString.ToLower();
//myString=myString.

Console.WriteLine(”小寫形式:{0}”,myString.ToLower());//這種大小寫轉換輸出的形式

Console.WriteLine(”大寫形式:{0}”,myString .ToUpper ());

//字符串大小寫轉換命令
Console.WriteLine(”請輸入字母字符串:”);
string myString =Console.ReadLine();
//大小寫轉換命令:這兩個命令與其他命令一樣,並沒有改變應用字符串的方式
//把這兩個命令與字符串合併使用,就會創建一個新的字符串,以便與另一個字符進行
//比較,或者賦給另一個變量。

myString = myString.ToLower();

Console.WriteLine(”小寫形式:{0}”, myString);

myString = myString.ToUpper();

Console.WriteLine(”大寫形式:{0}”,myString);

//字符串大小寫轉換命令

Console.WriteLine(”請輸入字母字符串:”);
string myString =Console.ReadLine();
myString = myString.ToLower();
// myString = myString.ToUpper();
if (myString ==”YES”)
Console.WriteLine(”大寫形式:{0}”, myString);
else
Console.WriteLine(”小寫形式:{0}”, myString);

//字符串大小寫轉換命令

Console.WriteLine(”請輸入字母字符串:”);

string myString =Console.ReadLine();

//myString = myString.ToLower();

// myString = myString.ToUpper();

if (myString.ToUpper() ==”YES”)//布爾條件裏面的使用檢測字符串

Console.WriteLine(”大寫形式:{0}”, myString);

else

Console.WriteLine(”{0}”, myString);

//刪除空格命令 .Trim()

string userResponse = Console.ReadLine();
userResponse = userResponse.Trim();//用該命令處理後產生新地變量再賦給此變量:

if (userResponse.ToLower() == “yes”)
Console.WriteLine(”OK!”);
else
Console .WriteLine (”NO!”);

//Trim命令,有刪除字符空格的作用

char[] trimChars ={ ‘ ‘,’e’,’s’};//命名一個要被刪除的字符的數組

string userResponse = Console.ReadLine();

userResponse = userResponse.ToLower();

userResponse = userResponse.Trim(trimChars);//Trim()括號的這種用法,裏面是變量

if (userResponse == “y”)

{

Console.WriteLine(”.Trim()命令可以刪除字符\”yes\”刪除後e s 後變爲:{0}”,userResponse );

}

//刪除字符串前後字符命令,也可以指定char數組刪除字符與空格

string mystring = Console.ReadLine();

mystring = mystring.TrimStart();//刪除前面的空格

mystring = mystring.TrimEnd();//刪除字符串後面的空格

Console.WriteLine(”刪除字符串前面後面的空格:*{0}*”,mystring );

//添加空格 .trimStart() .trimEnd() 刪除左右空格命令

string mystring = Console.ReadLine();

//爲字符串添加空格

mystring = mystring.TrimStart();//刪除前面的空格

mystring = mystring.PadLeft(10);//在字符串左面添加10 個空格

mystring = mystring.TrimEnd();//刪除字符串後面的空格
mystring = mystring.PadRight(30);//在字符串的右面添加10 個空格
Console.WriteLine(”刪除字符串前面後面的空格:*{0}*”,mystring );

//字符串的添加命令: .PadRight() . PadLeft() 使字符串達到指定的長度
string myString = Console.ReadLine();
//空格的添加命令,都是從左向右數字符串的長度進行添加 空格

myString = myString.PadLeft(10);
Console.WriteLine(”*{0}*”,myString.PadRight (11));

//字符串左右添加空格字符命令

string myString = Console.ReadLine();

//PadLeft() PadRight() 向字符串左右添加 空格字符命令

myString = myString.PadLeft(10, ‘#’);

myString = myString.PadRight(20,’*’);

Console.WriteLine(”{0}”,myString);

//Split用指定的分隔符數組分隔字符串中 得其子字符串

string myString = “This is a test”;

char[] separator ={’ ‘};//‘a’ a爲分隔符,此例爲空格分隔符定義一個分隔符數組

string[] myWords;

//.Split命令可以把myString轉換爲string數組,並把它在指定的位置分隔開

//分隔符爲數組中的元素!

myWords = myString.Split(separator ); //Split命令作用是用指定的分隔符分隔字符串,成爲子字符串 子字符串賦給數組,作爲元素輸出

foreach (string word in myWords)
{
Console.WriteLine(”{0}”,word );
}


2007年01月07日 星期日 00:21
C#字符串處理

string字符串是char的集合,而char是Unicode的代碼,所以char可以轉化爲int。
字符串在參數傳遞時爲引用傳遞;可以使用空字符串(”")。
一、字符串類型轉換
1.轉爲char
可以用索引器來得到字符串中指定的字符,如:
string myString=”hello”;
char myChars;
myChars=myString[0];
要想得到一個char數組可以用如下方法:

char[] myChars = myString.ToCharArray();

char[]與string的不同之處在於char[]可以讀寫,而string只能讀(改寫只是對他的重構)
2.轉爲bety
byte[] bytStr = System.Text.Encoding.Default.GetBytes(str);
反轉:
string string = Syste.Text.Encoding.ASCII.GetString( bytes, 0, nBytesSize );
3.轉爲int
int.parse(str);
4.轉爲string
用基類提供能的Tostring,如:
123.Tostring();
5.其他轉化
Convert.To***(str);如:
Convert.ToInt32(”123″);
Convert.ToBoolean(”123″);
Convert.ToBoolean(”false”);
Convert是一個形式轉換的類,不止能轉字符串,我們可以用它的靜態方法實現好多類型轉換
6.轉義字符
單個的char用”\”,字符可以用”@”
例如:@”C:\WINDOWS\system32″ 和 “C:\\WINDOWS\\system32″ 是等價的

二、常見字符串處理方法
1.字符串比較
字符串.ComparTo(目標字符串)
“a”.ComparTo(”b”);
2.查找子串
字符串.IndexOf(子串,查找其實位置) ;
字符串.LastIndexOf(子串) ;最後一次出現的位置
str.IndexOf(”ab”,0);
3.插入子串
字符串.Insert(插入位置,插入子串) ;
s.Insert(2,”ab”);
4.移出子串
字符串.Remove(其實位置,移出數);
s.Remove(3,2);
5.替換子串
字符串.Replace(源子串,替換爲);
s.Replace(”-”,” “);將-替換爲空格
6.截取子串
字符串.Substring(截取其實位置,截取個數);
“abcdef”.Substring(2,3);結果爲cde
7.去空格
myString = myString.Trim(); //同時刪除字符串前後的空格
char[] trimChars = {’ ‘,’e’,’s’}; //準備刪除的字符
myString = myString.Trim(trimChars); //刪除所有指定字符
myString = myString.TrimEnd(); //刪除字符串後的空格
myString = myString.TrimStart(); //刪除字符串前的空格
8.轉換大小寫
str.ToLower()轉化成小寫字母
str.ToUpper()轉化成大寫字母
Char.IsUpper(str,3)//判斷一個字符串中的第n個字符是否是大寫
9.拆分字符串
string[] Strs = myString.Split(’ ‘,3); //按照空格進行拆分,並且返回前三個字符串,結果在字符串數組裏
10.使字串達到指定長度
PadLeft()、PadRight() ,如:
string str1=”00″;
str1=str1.PadLeft(3,’1′); //無第二參數爲加空格,結果爲“100”
11.得到字符串長度
len=str.Length;
12.字符串遍歷
string myString = “This is a test!”;
foreach (char myChar in myString)
{
Console.Write(”{0}”,myChar);
}
其他方法見MSDN


首先介紹一下常用的幾個功能:

compare(str1,str2)——比較兩個字符串 str1,str2的大小,如果大於返回正數,等於返回0,小於返回負數!

indexof——定位字符串中第一次出現某個給定字符串的位置
PadLeft和PadRight——在字符串的開始和結尾用指定的字符填充字符串
ToLower和ToUpper把字符串轉換爲小寫或大寫形式
Trim——刪除首尾空白
String.Replace——用指定的字符替換字符串中的指定字符。
C#中字符串的建立過程:
例如定義變量 strT=”Welcome to “;
strT+=”www.sinory.com”;
程序首先創建一個System.String 類型的對象並初始化爲“Welcome to”。此時編譯程度會分配足夠的內存來保存這個文本串。並用變量strT來表示這個實例。當執行strT+=”www.sinory.com”時,系統會創建一個新的實例,並分配足夠的內存來保存複合後的文本。然後用變量strT來表示這個新的字符
串,就的字符串被撤消。當要進行大規模的字符替換與調整操作時,使用字符串來操作將嚴重影響性能。在這中情況下就可以用System.Text.StringBuilder類。

    StringBuilder類並沒有String 類的功能強大,只提供基本的替換和添加和刪除字符串中的文本,但它的工作效率非常高,當定義StringBuilder對象時可以指定內存的內存容量,如果不指定系統就會根據對象初始化時的字符串長度來確定。它有兩個主要參數Length和Capacity分別表示字符串的實際長度和字符串佔據的內存空間長度。對字符串的修改就是在這個內存中進行的,大大提高了添加和替換的的效率。
如定義:StringBuilder sb=new StringBuilder(”Hello,Welcome”,100);//初始化對象並設置初始容量爲100
      sb.Append(” to www.sinory.com”);
      sb.Replace(old,new);//將old替換爲new,作用與String.Replace()一樣只是不需要在過程中複製字符。
StringBuilder的成員:
    StringBuilder sb=new StringBuilder(”www.sinory.com”);//定義初值爲www.sinory.com的對象。
    StringBuilder sb=new StringBuilder(20);初始化容量爲20的空對象。
    另外StringBuilder還有MaxCapacity屬性用來限定對象可以使用的最大容量。默認大約是int.MaxValue(20億)
    可以在使用過程中定義sb.MaxCapacity=value;
    sb.Append(),給當前字符串追加字符串。
    sb.AppendFormat()——添加特定格式的字符串
    sb.Insert()——插入一個子字符串
    sb.Remove()——從當前字符串刪除字符
    sb.Replace()——替換字符串中指定的字符
    sb.ToString()——將sb轉化爲String 對象
來源:www.sinory.com 作者:sjklaus

String類型可以看作是char變量的只讀數組。

//string類型變量可以看作char變量的只讀數組的使用

string myString = “A string”;

//使用數組變量的ToCharArray()命令將string變量myString變量的字符串值賦給

//char類型的數組myChar爲元素

char[] myChars = myString.ToCharArray();//ToCharArray()命令把字符串值轉換成char數組元素

foreach (char myChar in myChars)//讀取數組元素

{

Console.WriteLine(”{0}”,myChar);//或(myChar)

}

//string類型變量可以看作char變量的只讀數組的使用

Console.WriteLine(”請輸入要轉換的字符串,把其轉換爲char數組元素”);

string myString = Console.ReadLine();//從屏幕得到字符串

Console.WriteLine(”你輸入的字符串長度爲:{0}”,myString .Length );//獲取字符串的長度

//使用數組變量的ToCharArray()命令將string變量myString變量的字符串值賦給

//char類型的數組myChar爲元素

char[] myChars = myString.ToCharArray();//ToCharArray()命令把字符串值轉換成char數組元素

foreach (char myChar in myChars)//讀取數組元素

{
Console.WriteLine(”{0}”,myChar);//或(myChar)
}

//字符串大小寫轉換
Console.WriteLine(”請輸入字母字符串:”);
string myString =Console.ReadLine();
//myString = myString.ToLower();
//myString=myString.

Console.WriteLine(”小寫形式:{0}”,myString.ToLower());//這種大小寫轉換輸出的形式

Console.WriteLine(”大寫形式:{0}”,myString .ToUpper ());

//字符串大小寫轉換命令
Console.WriteLine(”請輸入字母字符串:”);
string myString =Console.ReadLine();
//大小寫轉換命令:這兩個命令與其他命令一樣,並沒有改變應用字符串的方式
//把這兩個命令與字符串合併使用,就會創建一個新的字符串,以便與另一個字符進行
//比較,或者賦給另一個變量。

myString = myString.ToLower();

Console.WriteLine(”小寫形式:{0}”, myString);

myString = myString.ToUpper();

Console.WriteLine(”大寫形式:{0}”,myString);

//字符串大小寫轉換命令

Console.WriteLine(”請輸入字母字符串:”);
string myString =Console.ReadLine();
myString = myString.ToLower();
// myString = myString.ToUpper();
if (myString ==”YES”)
Console.WriteLine(”大寫形式:{0}”, myString);
else
Console.WriteLine(”小寫形式:{0}”, myString);

//字符串大小寫轉換命令

Console.WriteLine(”請輸入字母字符串:”);

string myString =Console.ReadLine();

//myString = myString.ToLower();

// myString = myString.ToUpper();

if (myString.ToUpper() ==”YES”)//布爾條件裏面的使用檢測字符串

Console.WriteLine(”大寫形式:{0}”, myString);

else

Console.WriteLine(”{0}”, myString);

//刪除空格命令 .Trim()

string userResponse = Console.ReadLine();
userResponse = userResponse.Trim();//用該命令處理後產生新地變量再賦給此變量:

if (userResponse.ToLower() == “yes”)
Console.WriteLine(”OK!”);
else
Console .WriteLine (”NO!”);

//Trim命令,有刪除字符空格的作用

char[] trimChars ={ ‘ ‘,’e’,’s’};//命名一個要被刪除的字符的數組

string userResponse = Console.ReadLine();

userResponse = userResponse.ToLower();

userResponse = userResponse.Trim(trimChars);//Trim()括號的這種用法,裏面是變量

if (userResponse == “y”)

{

Console.WriteLine(”.Trim()命令可以刪除字符\”yes\”刪除後e s 後變爲:{0}”,userResponse );

}

//刪除字符串前後字符命令,也可以指定char數組刪除字符與空格

string mystring = Console.ReadLine();

mystring = mystring.TrimStart();//刪除前面的空格

mystring = mystring.TrimEnd();//刪除字符串後面的空格

Console.WriteLine(”刪除字符串前面後面的空格:*{0}*”,mystring );

//添加空格 .trimStart() .trimEnd() 刪除左右空格命令

string mystring = Console.ReadLine();

//爲字符串添加空格

mystring = mystring.TrimStart();//刪除前面的空格

mystring = mystring.PadLeft(10);//在字符串左面添加10 個空格

mystring = mystring.TrimEnd();//刪除字符串後面的空格
mystring = mystring.PadRight(30);//在字符串的右面添加10 個空格
Console.WriteLine(”刪除字符串前面後面的空格:*{0}*”,mystring );

//字符串的添加命令: .PadRight() . PadLeft() 使字符串達到指定的長度
string myString = Console.ReadLine();
//空格的添加命令,都是從左向右數字符串的長度進行添加 空格

myString = myString.PadLeft(10);
Console.WriteLine(”*{0}*”,myString.PadRight (11));

//字符串左右添加空格字符命令

string myString = Console.ReadLine();

//PadLeft() PadRight() 向字符串左右添加 空格字符命令

myString = myString.PadLeft(10, ‘#’);

myString = myString.PadRight(20,’*’);

Console.WriteLine(”{0}”,myString);

//Split用指定的分隔符數組分隔字符串中 得其子字符串

string myString = “This is a test”;

char[] separator ={’ ‘};//‘a’ a爲分隔符,此例爲空格分隔符定義一個分隔符數組

string[] myWords;

//.Split命令可以把myString轉換爲string數組,並把它在指定的位置分隔開

//分隔符爲數組中的元素!

myWords = myString.Split(separator ); //Split命令作用是用指定的分隔符分隔字符串,成爲子字符串 子字符串賦給數組,作爲元素輸出

foreach (string word in myWords)
{
Console.WriteLine(”{0}”,word );
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章