C#入門 09day--字符串的操作

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();
        }
    }
}

2018-10-10_222129.jpg

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();
        }
    }
}

2018-10-10_222807.jpg

(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();
        }
    }
}

2018-10-10_223953.jpg

(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();
        }
    }
}

2018-10-10_224546.jpg

(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();
        }
    }
}

2018-10-10_225256.jpg

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();
           
        }
    }
}

2018-10-10_225947.jpg

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();
           
        }
    }
}

2018-10-13_222417.jpg

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();
           
        }
    }
}

2018-10-13_224014.jpg

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();
           
        }
    }
}

2018-10-13_224813.jpg

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();
           
        }
    }
}

2018-10-13_230000.jpg

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();
           
        }
    }
}

2018-10-13_230507.jpg

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();
           
        }
    }
}

2018-10-13_231531.jpg

(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();
           
        }
    }
}

2018-10-13_232218.jpg

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();
           
        }
    }
}

2018-10-13_232904.jpg

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();

        }
    }
}

2018-10-14_212340.jpg

總結(jié):

在頻繁操作一字符時,建議使用StringBuilder類,以節(jié)省空間补胚,運行效率也快些码耐。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市溶其,隨后出現(xiàn)的幾起案子骚腥,更是在濱河造成了極大的恐慌,老刑警劉巖瓶逃,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件束铭,死亡現(xiàn)場離奇詭異,居然都是意外死亡厢绝,警方通過查閱死者的電腦和手機契沫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來昔汉,“玉大人懈万,你說我怎么就攤上這事“胁。” “怎么了钞速?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長嫡秕。 經(jīng)常有香客問我,道長苹威,這世上最難降的妖魔是什么昆咽? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮牙甫,結(jié)果婚禮上掷酗,老公的妹妹穿的比我還像新娘。我一直安慰自己窟哺,他們只是感情好泻轰,可當我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著且轨,像睡著了一般浮声。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上旋奢,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天泳挥,我揣著相機與錄音,去河邊找鬼至朗。 笑死屉符,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播矗钟,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼唆香,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了吨艇?” 一聲冷哼從身側(cè)響起躬它,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎秸应,沒想到半個月后虑凛,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡软啼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年桑谍,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片祸挪。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡锣披,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出贿条,到底是詐尸還是另有隱情雹仿,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布整以,位于F島的核電站胧辽,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏公黑。R本人自食惡果不足惜邑商,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望凡蚜。 院中可真熱鬧人断,春花似錦、人聲如沸朝蜘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谱醇。三九已至暇仲,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間副渴,已是汗流浹背熔吗。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留佳晶,地道東北人桅狠。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親中跌。 傳聞我的和親對象是個殘疾皇子咨堤,可洞房花燭夜當晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容