首页 > 代码库 > C# String.split()用法小结。String.Split 方法 (String[],?StringSplitOptions)

C# String.split()用法小结。String.Split 方法 (String[],?StringSplitOptions)

split()首先是一个分隔符,它会把字符串按照split(‘ 字符’)里的字符把字符串分割成数组,然后存给一个数组对象。

输出数组对象经常使用foreach或者for循环。

第一种方法

string s=abcdeabcdeabcde;

string[] sArray=s.Split(c) ;

foreach(string i in sArray)

Console.WriteLine(i.ToString());

输出下面的结果:

ab

deab

deab

de

第二种方法

我们看到了结果是以一个指定的字符进行的分割。使用另一种构造方法对多个字

符进行分割:

string s="abcdeabcdeabcde";

string[] sArray1=s.Split(new char[3]{c,d,e}) ;

foreach(string i in sArray1)

Console.WriteLine(i.ToString());

可以输出下面的结果

ab

ab

ab

第三种方法

string str1=我*****是*****一*****个*****教*****师;

string[] str2;

str1=str1.Replace(*****,*) ;

str2=str1.Split(*) ;

foreach(string i in str2)

Console.WriteLine(i.ToString());

输出结果:

第四种:String.Split 方法 (String[],?StringSplitOptions):

基于数组中的字符串将字符串拆分为多个子字符串。 可以指定子字符串是否包含空数组元素

 

separator
Type: System.String[]

分隔此字符串中子字符串的字符串数组、不包含分隔符的空数组或 null

options
Type: System.StringSplitOptions

要省略返回的数组中的空数组元素,则为 StringSplitOptions.RemoveEmptyEntries;要包含返回的数组中的空数组元素,则为StringSplitOptions.None

实例:

可以通过这个方法返回EXCEPTION里面 $$字符$$ 的字符:

 

 #region 获取错误信息
       /// <summary>
       /// 获取错误信息
       /// </summary>
       /// <param name="msg"></param>
       /// <returns></returns>
       private string ErrMsg(string msg)
       {
           if (msg.Contains("$$"))
               return msg.Split(new[] { "$$" }, StringSplitOptions.None)[1];
           else
               return msg;
       }
       #endregion

调用的时候:

catch (Exception e)
           {
               throw new GSPException(ErrMsg(e.Message), ErrorLevel.Info);
           }

通过ErrMsg方法处理错误信息Exception e。e在数据库SQL中写法是

if(v_count=0) then
        raise_application_error(-20001,$$该单据已经审核或执行,不允许保存$$);
    end if;

这个 raise_application_error会给 C#中返回一堆含有$$该单据已经审核或执行,不允许保存$$字符串的字符串。包括各种错误信息,例如堆栈信息。

但是前台弹出错误的时候不想要其他错误信息,只想把该单据已经审核或执行,不允许保存$$取出来作为错误信息弹出,这时候就可以对错误信息进行截取。

首先根据字符$$把错误信息给分割,成数组,最后,会分成包含三个元素的数组,第一个是$$前面的错误信息,第二个是两个$$中间的错误信息(这正是我们想要的),第三个是

第二个$$后面的错误信息。因此我们只要获取第二个,也就是 数组[1]

msg.Split(new[] { "$$" }, StringSplitOptions.None)[1];

在EXCEPTION处理的时候,调用这个方法即可。

 

C# String.split()用法小结。String.Split 方法 (String[],?StringSplitOptions)