C#基礎(chǔ)篇之字符串
logo.jpg
1.字符串的定義:
? String str= "字符串"
2.字符串的連接:
? 字符串的連接可以用:“ + ”連接
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "你好啊,學(xué)習(xí)要";
String str2 = "腳踏實(shí)地,切勿空談。";
String str = str1 + str2;
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.WriteLine(str);
Console.ReadKey();
}
}
}

3.字符串的比較:
(1)用“==”返回布爾型:
? str1 == str2 若兩字符相等,則返回turn;否則返回false。
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "mirikeji";
String str2 = "mirikeji";
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.WriteLine(str1 == str2);
Console.ReadKey();
}
}
}

(2)Compare方法來判斷:
? String.Compare(str1,str2) 返回1;0;-1
1:表示str1 > str2
0:表示str1 = str2
-1:表示str1 < str2
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "mirikeji";
String str2 = "mirikejz";
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.WriteLine(String.Compare(str1,str1));
Console.WriteLine(String.Compare(str1, str2));
Console.WriteLine(String.Compare(str2, str1));
Console.ReadKey();
}
}
}

(3)CompareTo方法來實(shí)現(xiàn);
Compare是通過實(shí)例化對象來實(shí)現(xiàn)。
同樣返回三個(gè)數(shù)值來判斷字符串的大小。
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "mirikeji";
String str2 = "mirikejz";
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.WriteLine(str1.CompareTo(str2));
Console.WriteLine(str1.CompareTo(str1));
Console.WriteLine(str2.CompareTo(str1));
Console.ReadKey();
}
}
}

(4)Equals方法:
返回turn與false 布爾類型
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "mirikeji";
String str2 = "mirikejz";
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.WriteLine(str1.Equals(str1));
Console.WriteLine(str1.Equals(str2));
Console.WriteLine(str2.Equals(str1));
Console.ReadKey();
}
}
}

4.格式化字符串;
? {n}對應(yīng)后面第n個(gè)變量。
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "我學(xué)習(xí)";
String str2 = "我快樂";
String str = String.Format("{0},{1}", str1, str2);
Console.WriteLine(str);
Console.ReadKey();
}
}
}

5.截取字符串:
Substring(startIndex,length) 方法截取字符。
(1)startIndex:字符串起始位置的索引;
(2)length:截取的字符個(gè)數(shù);
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
DateTime date = DateTime.Now;//獲取系統(tǒng)的當(dāng)前日期
String str1 = "我學(xué)習(xí)我快樂";
String str2 = "";
str2 = str1.Substring(1, 4);
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.ReadKey();
}
}
}

6.分割字符:
Split方法:Split(自定義的分割符數(shù)組)
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "我學(xué)^習(xí)我快樂,在浮躁#的今天,一顆!寧靜的心";
char[] sparator = { '^', '#', ',', '!' };//自定義的分割字符數(shù)組
String[] str2 = new String[100]; //定義存放的字符
str2 = str1.Split(sparator); //用Split分割字符
Console.WriteLine(str1);
for (int i = 0; i < sparator.Length; i++)
Console.WriteLine("item{0}:{1}",i,str2[i]);
Console.ReadKey();
}
}
}

7.插入字符:
Insert方法:Insert(startIndex,string var)
(1)starIndex:插入字符的起始位置,索引從0開始。
(2)string var:插入的字符串。
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "一顆寧靜的心";
String str2 = "我學(xué)習(xí)我快樂,在浮躁的今天,";
String str3 = str2.Insert(6, str1); //把str1插入到str2成str3
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.WriteLine(str3);
Console.ReadKey();
}
}
}

8.填充字符:
PadLeft:在字符串的左邊進(jìn)行字符的填充。
PadRight:在字符串的右邊進(jìn)行字符的填充。
兩個(gè)參數(shù):(填充后的長度,填充的字符)
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "*^__^*";
String str2 = str1.PadLeft(7, '(');//在左邊填充‘(’
String str3 = str2.PadRight(8, ')');//在右邊填充‘)’
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.WriteLine(str3);
Console.ReadKey();
}
}
}

9.刪除字符串:
Remove方法:Remove(startIndex,count) 刪除指定數(shù)量的字符。
(1)startIndex:刪除的起始位置。
(2)count:刪除的字符數(shù)。(缺少count就默認(rèn)刪除到最后。)
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "我是中國人我驕傲";
String str2 = str1.Remove(2,2);//刪除“中國”兩字
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.ReadKey();
}
}
}

10.復(fù)制字符串:
(1)Copy整體復(fù)制:
? Copy(string var)
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "我是中國人我驕傲";
String str2 = String.Copy(str1);//把str1整體復(fù)制到str2
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.ReadKey();
}
}
}

(2)CopyTo部分復(fù)制:
? CopyTo(起始復(fù)制位置,目標(biāo)字符,開始存放的位置,復(fù)制的個(gè)數(shù))
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "我是中國人我驕傲";
char[] str2 = new char[100];
str1.CopyTo(2,str2,2,4); //str1部分復(fù)制到str2
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.ReadKey();
}
}
}

11.替換字符串:
Replace方法:Replace(舊的字符串,新的字符串)
也可以是單個(gè)字符。
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "我是中國人我驕傲";
String str2 = "我學(xué)習(xí),我快樂";
String str3 = str1.Replace("我是","你們也是");//你們也是替換我是
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.WriteLine(str3);
Console.ReadKey();
}
}
}

12.可變字符類:
可變字符StringBuilder類存在于System.Text命名空間內(nèi),需要導(dǎo)入System.Text命名空間。其定義與使用如下:
(1)Append方法:將字符串追加到對象末尾
(2)AppendFormat:自定義變量的格式追加到對象末尾
(3)Insert:將字符添加到指定位置
(4)Remove:移除指定的數(shù)量的字符
(5)Replace:用指定的字符代替原來的字符
using System;
using System.Text;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
int Num = 1000;
StringBuilder LS = new StringBuilder("用一生下載你", 100);//實(shí)例化,并其空間是100
LS.Append("VS 厚德載物");//添加VS 厚德載物
Console.WriteLine(LS);
LS.AppendFormat("{0:C}",Num);//以貨幣格式追加到末尾
Console.WriteLine(LS);
LS.Insert(0,"名稱:");//在第一個(gè)字符位置插入名稱:
Console.WriteLine(LS);
LS.Remove(15,LS.Length-15);//刪除從第15字符位置后的字符
Console.WriteLine(LS);
LS.Replace("名稱:","一生所愛");//用"一生所愛"替換"名稱:"
Console.WriteLine(LS);
Console.ReadKey();
}
}
}

總結(jié):
在頻繁操作一字符時(shí),建議使用StringBuilder類,以節(jié)省空間,運(yùn)行效率也快些。
