C# String.split()用法小结

        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());
输出结果:

我

是

一

个

老

师

四、第四种方法 

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

 

separator

Type:  System.String[]

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

options

Type:  System.StringSplitOptions

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

实例:

可以通过这个方法返回EXCEPTION里面

字符字符

的字符:

 

 #region 获取错误信息
       /// 
       /// 获取错误信息
       /// 
       /// 
       /// 
       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#,开发语言)