c#

位置:IT落伍者 >> c# >> 浏览文章

c#中分割字符串的几种方法


发布日期:2022年12月02日
 
c#中分割字符串的几种方法

最近经常看到论坛中许多帖子询问如何使用split来分割字符串我这里对split做一些简单的总结希望能够对大家有所帮助下面介绍几种方法

第一种方法打开新建一个控制台项目然后在Main()方法下输入下面的程序

string s=abcdeabcdeabcde

string[] sArray=sSplit(c

foreach(string i in sArray)

ConsoleWriteLine(iToString())

输出下面的结果ab

deab

deab

de

我们看到了结果是以一个指定的字符进行的分割如果我们希望使用多个字符进行分割如cde如何做呢?好我们使用另一种构造方法

更改为

string s=abcdeabcdeabcde

string[] sArray=sSplit(new char[]{cde})

foreach(string i in sArray

ConsoleWriteLine(iToString())

可以输出下面的结果ab

ab

ab

除了以上的这两种方法以外第三种方法是使用正则表达式新建一个控制台项目然后先添加 using SystemTextRegularExpressions

Main() 中更改为

SystemTextRegularExpressions

string content=agcsmallmacsmallgggsmallytx

string[]resultString=RegexSplit(contentsmallRegexOptionsIgnoreCase)

foreach(string i in resultString)

ConsoleWriteLine(iToString())

输出下面的结果agc mac ggg ytx

使用正则表达式有什么好处呢? 别着急后面我们会看到它的独特之处

下面介绍第种方法比如 string str=我*****是*****一*****个*****教*****师

如果我希望显示为我是一个教师 如何作呢?

我们可以使用下面代码 string str=我*****是*****一*****个*****教*****师

string[] strstr=strReplace(****** str=strSplit(* foreach(string i in str) ConsoleWriteLine(iToString()) 这样也可以得到正确结果但是比如 string str=我**是*****一*****个*****教*****师

我希望显示的结果为我是一个教师

我如果采用上面的第四种方法来做就会产生下面的错误我 是一个教师 中间有空格输出所以输出结果并不是我希望的结果如何解决呢?这就又回到了正则表达式了(这里可以看到它的功能强大之处)这时可以采用下面的第五种方法 string str=我**是*****一*****个*****教*****师string[] str = SystemTextRegularExpressionsRegexSplit(str@

  • + foreach(string i in str)ConsoleWriteLine(iToString())

    这里通过

  • + 巧妙的完成了我们的目标ch(string i in str)ConsoleWriteLine(iToString());

    这里通过

  • + 巧妙的完成了我们的目标

                   

  • 上一篇:邮件发送 System.Net.Mail

    下一篇:c#中什么情况下用Convert.ToInt32?