03c#-字符串

it2022-05-08  7

2013年12月14日 07:21:27

===============================================================================================

20岁上下,你有什么?请用心去成长

===============================================================================================

字符串函数

  1.大小写

     ToLower():得到字符串的小写形式

     ToUpper():得到字符串的大写形式

  2.去两边的空白:Trim()

    *比如输入邮箱时,和用户名时经常用

  3. s1.Equals(s2, StringComparison.OrdinalIgnoreCase),两个字符串进行比区分大小写的比较。

    

1 bool b = "abc".Equal("Abc",StringComparison.OrdinalIgnoreCase); 2 Console.WriteLine(b);

  *比如登录用户名时常用这个,不区分大小写

  4.string[] Split(params char[] separator):将字符串按照指定的分割符分割为字符串数组;

  

1 string s = "abc,bca,bbb"; 2 string[] strs = s.Split(','); 3 foreach (string item in strs) 4 { 5 Console.WriteLine(item); 6 }

 

  string[] Split(char[] separator, StringSplitOptions options)将字符串按照指定的char分割符分割为字符串数组( options 取RemoveEmptyEntries的时候移除结果中的空白字符串);

  string[] Split(string[] sepatator, StringSplitOptions options)将字符串按照指定的string分隔符为字符串数组(options取RemoveEmptyEntries的时候移除结果中的空白字符串);

==============================================================================================

练习:例子1:从日期字符串("2008-08-08")中分析出年、月、日;2008年08月08日。   例子2:从一个记录了学生成绩的文本文档,每个学生成绩是一行,每行是用|分割的数据,用|分割的域分别是姓名、年龄、成绩,写程序取出成绩最高学生的姓名和成绩。参考:使用string[] lines =System.IO.File.ReadAllLines(@"c:\root.ini", Encoding.Default);从文本文件读取数据,返回值为string数组,每个元素是一行。

  =============================================================================================

 

5.字符串替换:string Replace(string oldValue, string newValue)将字符串中的出现oldValue的地方替换为newValue。例子:名字替换。

  *论坛敏感词的替换等

6.取子字符串:string Substring(int startIndex),取从位置startIndex开始一直到最后的子字符串;

       string Substring(int startIndex, int length),取从位置startIndex开始长度为length的子字符串,如果子字符串的长度不足length则报错。

 7.其他字符串函数

    bool Contains(string value)判断字符串中是否含有子串value      bool StartsWith(string value)判断字符串是否以子串value开始;           bool EndsWith (string value)判断字符串是否以子串value结束;      int IndexOf(string value):取子串value第一次出现的位置。

 

==============================================================================================

练习题:课上练习1:接收用户输入的字符串,将其中的字符以与输入相反的顺序输出。"abc"→"cba"

1 string s = "abc"; 2 for (int i = s.Length - 1; i >= 0; i--) 3 { 4 Console.Write(s[i]); 5 }

课上练习2:接收用户输入的一句英文,将其中的单词以反序输出。"hello c sharp"→"sharp c hello"

1 string str = "I am come"; 2 string[] strs = str.Split(' '); 3 for (int i = strs.Length - 1; i >= 0; i--) 4 { 5 Console.Write(strs[i]+" "); 6 }

课上练习3:从Email中提取出用户名和域名:abc@163.com。IndexOf找到@的位置。SubString。

1 string email = "woaini@163.com"; 2 int index = email.IndexOf("@"); 3 string userName = email.Substring(0,index); 4 string yuMing = email.Substring(index+1); 5 Console.WriteLine(userName); 6 Console.WriteLine(yuMing);

 

课上练习4:文本文件中存储了多个文章标题、作者,标题和作者之间用若干空格(数量不定)隔开,每行一个,标题有的长有的短,输出到控制台的时候最多标题长度20,如果超过20,则截取长度17的子串并且最后添加“...”,加一个竖线后输出作者的名字。

1 string[] lines =System.IO.File.ReadAllLines(@"e:\2.txt", Encoding.Default); 2 3 foreach (string item in lines) 4 { 5 string[] strs = item.Split(new char[]{' '},StringSplitOptions.RemoveEmptyEntries); 6 string title = strs[0].Substring(0, Math.Min(17, strs[0].Length)); 7 string author = strs[1]; 8 9 if (title.Length == 17) 10 { 11 title = title + "..."; 12 } 13 Console.WriteLine("{0}|{1}", title, author); 14 15 }

 

练习5:自己动手写聊天机器人,能够回答不同城市的天气、回答感情问题、问的次数过多还会饿死,提问可以模糊提问(包含指定关键词)。问“天气:北京”就回复“北京的天气是晴”。

  

  

转载于:https://www.cnblogs.com/itkmzhao/p/3474069.html


最新回复(0)