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 获取错误信息
/// <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处理的时候,调用这个方法即可。