C#基礎(chǔ)篇之字符串
logo.jpg
1.字符串的定義:
? String str= "字符串"
2.字符串的連接:
? 字符串的連接可以用:“ + ”連接
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "你好啊离唬,學習要";
String str2 = "腳踏實地构拳,切勿空談哀墓。";
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方法來實現(xiàn);
Compare是通過實例化對象來實現(xiàn)旦装。
同樣返回三個數(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個變量蓄氧。
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "我學習";
String str2 = "我快樂";
String str = String.Format("{0},{1}", str1, str2);
Console.WriteLine(str);
Console.ReadKey();
}
}
}
5.截取字符串:
Substring(startIndex,length) 方法截取字符槐脏。
(1)startIndex:字符串起始位置的索引喉童;
(2)length:截取的字符個數(shù);
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
DateTime date = DateTime.Now;//獲取系統(tǒng)的當前日期
String str1 = "我學習我快樂";
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 = "我學^習我快樂,在浮躁#的今天顿天,一顆!寧靜的心";
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 = "我學習我快樂,在浮躁的今天,";
String str3 = str2.Insert(6, str1); //把str1插入到str2成str3
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.WriteLine(str3);
Console.ReadKey();
}
}
}
8.填充字符:
PadLeft:在字符串的左邊進行字符的填充鸟缕。
PadRight:在字符串的右邊進行字符的填充晶框。
兩個參數(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就默認刪除到最后畴蒲。)
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ù)制位置,目標字符对室,開始存放的位置模燥,復(fù)制的個數(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(舊的字符串,新的字符串)
也可以是單個字符掩宜。
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "我是中國人我驕傲";
String str2 = "我學習蔫骂,我快樂";
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);//實例化辽旋,并其空間是100
LS.Append("VS 厚德載物");//添加VS 厚德載物
Console.WriteLine(LS);
LS.AppendFormat("{0:C}",Num);//以貨幣格式追加到末尾
Console.WriteLine(LS);
LS.Insert(0,"名稱:");//在第一個字符位置插入名稱:
Console.WriteLine(LS);
LS.Remove(15,LS.Length-15);//刪除從第15字符位置后的字符
Console.WriteLine(LS);
LS.Replace("名稱:","一生所愛");//用"一生所愛"替換"名稱:"
Console.WriteLine(LS);
Console.ReadKey();
}
}
}
總結(jié):
在頻繁操作一字符時,建議使用StringBuilder類,以節(jié)省空間补胚,運行效率也快些码耐。