文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C#字符串String及字符Char的方法怎么用

2023-06-30 13:00

关注

这篇文章主要介绍了C#字符串String及字符Char的方法怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#字符串String及字符Char的方法怎么用文章都会有所收获,下面我们一起来看看吧。

一、字符串:

1、访问String中的字符:

string本身可看作一个Char数组。

string s = "hello world";for (int i = 0; i < s.Length; i++){    Console.WriteLine(s[i]);}//或者foreach (char c in s){    Console.WriteLine(c);}

打散为字符数组(ToCharArray)

string s = "Hello World";char[] arr = s.ToCharArray(); // Console.WriteLine(arr[0]); // 输出数组的第一个元素,输出"H"

2、截取子串:Substring(startIndex,[length]),包括startIndex处的字符。

string s = "hello world";Console.WriteLine(s.Substring(3));//lo worldConsole.WriteLine(s.Substring(3, 4));//lo w

3、查找子串:IndexOf(subString)、LastIndexOf(subString),Contains(subString)

string s = "hello world";Console.WriteLine(s.IndexOf("o"));//4Console.WriteLine(s.LastIndexOf("o"));//7Console.WriteLine(s.IndexOf('l'));//查找该字符串中的第一次'l'出现位置 2Console.WriteLine(s.IndexOf('l', 4));//查找该字符串中的第四次'l'出现位置 9Console.WriteLine(s.IndexOf('l', 5, 6)); //从前向后定位从第5位开始和再数6位位置之间'l'出现的位置; 9Console.WriteLine(s.Contains("e"));//True

4、左右填充子字符串到指定长度:PadLeft(totalLength,char)、PadRight(totalLength,char)

string s = "hello world";Console.WriteLine(s.PadLeft(15, '*'));//****hello worldConsole.WriteLine(s.PadRight(15, '*'));//hello world****

5、转化大小写:ToUpper()、ToLower()

string s = "Hello World";Console.WriteLine(s.ToUpper());//HELLO WORLDConsole.WriteLine(s.ToLower());//hello world

6、删除字符串指定位置的字符串片段:Remove(startIndex,length)

string s = "Hello World";Console.WriteLine(s.Remove(7));//Hello WConsole.WriteLine(s.Remove(7,1));//Hello Wrld

7、替换子字符串:Replace(oldStr,newStr)

string s = "Hello World";Console.WriteLine(s.Replace("l","*"));//He**o Wor*dConsole.WriteLine(s.Replace("or","*"));//Hello W*ld

8、去掉首尾空白或指定字符:Trim()、TrimStart()、TrimEnd()

string s = " Hello World      ";Console.WriteLine(s.Trim());//"Hello World"Console.WriteLine(s.TrimStart());// "Hello World      "Console.WriteLine(s.TrimEnd());// " Hello World"string s1 = "hello Worldhd";Console.WriteLine(s1.Trim('h','d'));//ello WorlConsole.WriteLine(s1.TrimStart('h','d'));//ello WorldhdConsole.WriteLine(s1.TrimEnd('h','d'));//hello Worl

9、在index前位置插入字符:Insert(index,str)

string s = "Hello World";Console.WriteLine(s.Insert(6,"测试"));//Hello 测试World

10、将字符串按某个特殊字符(串)进行分割,返回字符串数组:Split(char/char[]/string[],[StringSplitOptions]

string s = "Hello Wor  ld ";Console.WriteLine(s.Split('o'));//"Hell","W", "r  ld "Console.WriteLine(s.Split('e', 'd'));// "H","llo Wor  l"," "Console.WriteLine(s.Split(new string[] { " " }, StringSplitOptions.None));//"Hello","Wor","","ld"," "Console.WriteLine(s.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries));//"Hello","Wor","ld"foreach (string sub in s.Split('o')) {    Console.WriteLine(sub);}

11、字符串合并

String.Concat(str1, str2, &hellip;., strn):将n个字符串连接,中间没有连接符。字符串连接也可以用 &lsquo;+&rsquo; 来实现。

将字符串列表(string[],IEnumerable<string>)用str将各项串连起来,静态函数Join(SplitCh, array)

string[] arr = {"Hello”,” World"};Console.WriteLine(string.Join("*", arr));//Hello*World

实例方法StringBuilder.Append

StringBuilder sb =new StringBuilder(); // 声明一个字符串构造器实例sb.Append("A"); // 使用字符串构造器连接字符串能获得更高的性能sb.Append('B');Console.WriteLine(sb.ToString());// 输出"AB"

12、格式化,静态函数Format(占位符,变量)

string s = "Hello World";Console.WriteLine(string.Format("I Love \"{0}\"", s));//I Love "Hello World"Console.WriteLine(string.Format("{0:C}", 120.2));//¥120.20Console.WriteLine(string.Format("{0:yyyy年MM月dd日}", DateTime.Now));

13、与数字的转换:

Int32.TryParse(string,out bool ):始终不抛异常,返回true/false来说明是否成功解析。string为null返回解析不成功。

int ret = 0;if (int.TryParse("120.5", out ret))//转换异常!{    Console.WriteLine(ret);}else{ Console.WriteLine("转换异常!"); }

Int32.Parse(string):解析不成功会抛出异常。string为null时抛出“值不能为 null。参数名: String”异常。

try{    Console.WriteLine(int.Parse("120.5"));//输入字符串的格式不正确}catch (Exception e){ Console.WriteLine(e.Message); }

Convert.ToInt32(string):解析不成功会抛出异常,但是string为null时不抛异常返回0.

try{    Console.WriteLine(Convert.ToInt32("120.5"));//输入字符串的格式不正确。}catch (Exception e){ Console.WriteLine(e.Message); }

14、字符串的比较:

Compare()是CompareTo()的静态版本,返回小于,大于还是等于后者字符串(分别为-1,1,0)

string str1 = "you are very happy!!";string str2 = "I am very happy!!";Console.WriteLine( string.Compare(str1, str2));//1Console.WriteLine(str1.CompareTo(str2));//1

CompareOrdinal():对两字符串比较,而不考虑本地化语言和文化。将整个字符串每5个字符(10个字节)分成一组,然后逐个比较,找到第一个不相同的ASCII码后退出循环。并且求出两者的ASCII码的差。

string str1 = "you are very happy!!";string str2 = "I am very happy!!";Console.WriteLine(string.CompareOrdinal(str1, str2));//48

Equals()与“==”等价,静态或实例Equals,返回相等还是不等(true/false).

string str2 = "I am very happy!!";string str3 = "I am very happy!!";Console.WriteLine(str2.Equals(str3));//TrueConsole.WriteLine(str2 == str3);//True

15、字符串的复制

(1)、String.Copy(str):参数str为要复制的字符串,它回返回一个与该字符串相等的字符串 
(2)、SreStr.CopyTo(StartOfSreStr, DestStr, StartOfDestStr, CopyLen):它必须被要复制的字符串实例调用,它可以实现复制其中某一部分到目标字符串的指定位置

string s = "Hello World";string s1 = String.Copy(s);Console.WriteLine(s1);//Hello Worldchar[] s2 = new char[20];s.CopyTo(2, s2, 0, 8);Console.WriteLine(s2);//llo Worl000000000000000000000000

16、判断是否是已某种字符串开始或者结束

string s = "Hello World";Console.WriteLine(s.StartsWith("He")); //  TrueConsole.WriteLine(s.EndsWith("He")); //  False

17、判断字符是否为null或者为空,返回值为bool;

string s = "Hello World";string s2 = null;Console.WriteLine(string.IsNullOrEmpty(s)); // False Console.WriteLine(string.IsNullOrEmpty(s2)); //  True

二、char字符。

1、Char的表示方法:

2、转义字符:

3、char的静态方法:

关于“C#字符串String及字符Char的方法怎么用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“C#字符串String及字符Char的方法怎么用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯