日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#字符串学习笔记

發(fā)布時間:2023/12/10 C# 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#字符串学习笔记 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言:記得我們老師說過一句話,對字符串的學習程度就是當別人打你一拳你知道痛的情況,所以字符串的處理我們必須學的差不多,這幾篇博客完全是我的學習過程中記錄的筆記,在這里分享一下讓很多剛開始學習.net編程的人能夠很快的學會怎么處理字符串

  • string的構造方法
  • (1) String和string意思一樣,只是String是.net FrameWork提供的,而string是C#語言提供的

    ?(2)字符串是不可變的? ??

    class Program {static void Main(string[] args){string str = "123456";(*)string s1 = new string(new char[] { '我', '是', '韓', '迎', '龍' }); //輸出字符串(*)string s2 = new string('0', 10); //輸出10個0Console.WriteLine(s1);Console.WriteLine(s2);Console.WriteLine(5.ToString("00000")); //前面補0string str1 = "韓閃閃";char[] chs = str1.ToCharArray();for (int i = 0; i < chs.Length; i++){if (chs[i] == '閃'){chs[i] = '珊';}}str1 = new string(chs);Console.WriteLine(str1);Console.ReadKey();}}
  • 字符串的方法和常量
  • (1) 字符串賦初值的三種方法

    ???? string str = "";

    ???? string str1 = string.Empty;

    ???? string str2 = null;

    (2)判斷字符串是否為空

    ???? Console.WriteLine(string.IsNullOrEmpty(string.Empty));

    (3)字符串拘留池(駐留池)

    ???? 使用字符串的時候,如果字符串相同,那么所有變量都指向同一個地方

    (4)字符串的比較方法

    ???? 1)比較兩個字符串可以使用==或者Equals

    ???? 2)Equals的使用

    ???? ?????? ->靜態(tài)版本? string.Equals(object objA,object objB[,StringComparison com]);

    ???? ?????? ->實例版本? str.Equals(object objA);

    ???? 3)一個靜態(tài)的方法 Compare

    ???? ?????? ->string.Compare(str1,str2)

    ??????????? ?????? str1>str2?? 1

    ??????????? ?????? str1=str2?? 0

    ?????????????????? str1<str2?? -1

    (5)全部轉換為小寫,或者大寫? ToLower,ToUpper

    ???? string str="assdfdSDS";

    ???? str=str.ToUpper();

    ???? Console.WriteLine(str); //全部變成大寫輸出

    (6)去掉兩端的空格和指定的元素

    ???? string str=" 1234343 ";

    ???? str=str.Trim();

    ???? 1)Trim(params char[] chs)

    ????????????? string str = "? 11154544dfddf4351111? ";

    ??? ???str = str.Trim(' ', '1');

    ????? ?Console.WriteLine(str);

    ??? ??//輸出結果:54544dfddf435

    (7)字符串的合并和分隔

    ???? 1)合并

    ???? ?????? string[] str = { "韓迎龍", "李瀟絮", "小李飛刀" };

    ???? ?????? string s = string.Join("|", str);

    ???? ?????? Console.WriteLine(s);

    ???? ?????? Console.ReadKey();

    ???? 2)分隔

    ???? ?????? 語法:

    ???? ????????????? string[] <string>.Split(params char[] chs)

    ??????????? ?????? string[] <string>.Split(new char[] chs,StringSplitOptions.RemoveEmpty)

    ?????????????????? string s = "韓迎龍|23|男|女";

    ?????????????????? string[] str = s.Split('|');

    ?????????????????? Console.ReadKey();

    (8)判斷字符串的長度

    ???? 1)語法:<string>.Length;

    ???? 2)字符串可以像數(shù)組一樣使用"下標"訪問(索引)

    ??????????? for(int i=0;i<str.Length;i++)

    ??????????? {

    ?????????????????? Console.WriteLine(str[i]);

    ??????????? }

    (9)字符串查找

    ???? 1)判斷是否包含 Contains

    ??????????? ->語法:bool <string>.Contains(string str);

    string str = "張三,韓迎龍,李四,王五,馬六,楊七";if (str.Contains("韓迎龍")){Console.WriteLine("查找到了");}else{Console.WriteLine("沒找到");}

    ??????????? ->模擬Contains的實現(xiàn)(很局限)

    static bool MyContains(string src, char cmp){bool isTrue = false;for (int i = 0; i < src.Length; i++){if (src[i] == cmp){isTrue = true;break;}}return isTrue;}

    ???? 2)IndexOf 尋找索引

    ??????????? ->語法:

    ?????????????????? int <string>.IndexOf(char ch);

    ?????????????????? int <string>.IndexOf(char ch[,int startIndex]);

    ?????????????????? int <string>.IndexOf(string str[,int startIndex]);

    ????????????????????????? string str = " 好好學習,天天向上";

    ????????????????????????? int indeof = str.IndexOf('向');

    ??????????? ->模擬MyIndex的算法(很局限)? ? ? ? ? ? ? ? ? ?

    static int MyIndex(string src, char cmp){int index = -1;for (int i = 0; i < src.Length; i++){if (src[i] == cmp){index = i;break;}}return index;}

    ???? 3)找出字符串中所有的"e"??

    static void Main(string[] args){string str = "asfseeefsafserefeefsde";int index = -1;do{index = str.IndexOf('e', index + 1);if (index != -1){Console.WriteLine(index);}} while (index != -1);}

    (10)LastIndexOf 從右邊往左邊找

    ???? ?string str = "32errrwefsfsd";

    ??? int index = str.LastIndexOf('e'); //輸出7

    (11)子字符串

    ???? 1)語法:string <string>.SubString(開始的索引,字符串的長度);

    ???? ????????????? string <string>.SubString(開始的索引);

    ???? 2)案例:

    ???? ?????? string str = @"F:\heima\practice\string.exe";

    ?? ????int start = str.IndexOf('\\');

    ????? ?int length = str.IndexOf('\\', start + 1) - start;

    ?????? string s = str.Substring(start + 1, length - 1);

    ???? 3)跑馬燈的效果? ? ? ? ?

    string str = "北京歡迎您 ";while (true){Console.Clear();str = str.Substring(1) + str.Substring(0, 1);Console.WriteLine(str);System.Threading.Thread.Sleep(200);}

    字符串的插入,移除,替換

    ????????????? 1)insert

    ???????????????????? string str = "時間就是一把殺豬刀啊";

    ??????????? str = str.Insert(0, "世界上");

    ????????????? 2)remove

    ???????????????????? string str = "時間就是一把殺豬刀啊";

    ??????????? str = str.Remove(0, 2);

    ????????????? 3)replace

    ???????????????????? string str = "時間就是一把殺豬刀啊";

    ??????????? str = str.Replace("時間", "小賢");

    ?????? (13)判斷結束和開始

    ????????????? 1)判斷字符<string>串是否已某字符串開始或結束

    ????????????? 2)bool <string>.StartsWith(string str);

    ????????????? 3)bool <string>.EndsWith(string str);? ? ? ? ? ? ?

    1)第一個案例string[] str = {"白天不懂夜的黑.mp3","夢想的力量.mp3","舊夢重彈.wma","我相信.mp3" };for (int i = 0; i < str.Length; i++){if (str[i].EndsWith(".mp3")){Console.WriteLine(str[i] + "下載成功");}else{Console.WriteLine(str[i] + "格式不正確");}}2)第二個案例static void Main(string[] args){string path1= "http://www.cnblogs.com";string path2 = "http://www.cnblogs.com/";string file = "舊夢重彈.mp3";string downfile = GetFileName(path1, file);Console.WriteLine(downfile);Console.ReadKey();}static string GetFileName(string path, string file){if (path.EndsWith("/")){return path + file;}else{return path + '/' + file;}}

    (14)字符串的幾個練習題

      ?1)接收用戶輸入的字符串,將其中的字符以相反的順序輸出"韓迎龍"->"龍迎韓"

    static void Main(string[] args){string str = "韓迎龍";//第一種寫法for (int i = str.Length-1; i >=0; i--){Console.Write(str[i] );}//第二種寫法string strname = Exercise(str);Console.WriteLine(strname);}static string Exercise(string str){char[] chs = str.ToCharArray(); //變成char數(shù)組for (int i = 0; i < chs.Length / 2; i++){char temp = chs[i];chs[i] = chs[chs.Length - i - 1];chs[chs.Length - i - 1] = temp;}return new string(chs);}

    ?  2)接受用戶輸入的一句英文,將其中的單詞反序輸出。"I Love you"->"I evol uoy"

    static void Main(string[] args){string str = "I Love You";str = Exercise(str);Console.WriteLine(str);}static string Exercise(string str){string[] strs = str.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);for (int i = 0; i < strs.Length; i++){strs[i] = Exercisetwo(strs[i]);}return string.Join(" ", strs);}static string Exercisetwo(string str){char[] chs = str.ToCharArray(); //變成char數(shù)組for (int i = 0; i < chs.Length / 2; i++){char temp = chs[i];chs[i] = chs[chs.Length - i - 1];chs[chs.Length - i - 1] = temp;}return new string(chs);}

    ?   3)"2012年12月21日"從日期字符串中把年月日分別取出來,打印到控制臺? ? ?

    static void Main(string[] args){string str = "2012年10月03日";string[] strs = str.Split(new char[] { '年', '月', '日' });Console.WriteLine(string.Join(" ", strs));Console.ReadKey();}

    ?  4)把csv文件中的聯(lián)系人的姓名和電話顯示出來,簡單模擬

    ? ?  注:首先將一個name.txt結構的文檔放在項目的Bin的Debug目錄下面,使其代碼能夠讀到這個,里面的結構是"韓迎龍|男|23"

    static void Main(string[] args){string[] lines = File.ReadAllLines("name.txt");for (int i = 0; i < lines.Length; i++){string[] strTemp = lines[i].Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);Console.WriteLine("姓名:{0},年齡:{1}", strTemp[0], strTemp[2]);}}

    轉載于:https://www.cnblogs.com/hanyinglong/archive/2012/10/05/2711971.html

    總結

    以上是生活随笔為你收集整理的C#字符串学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。