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)
C#中,string.Join方法用于将一个数组的元素连接成一个字符串,通过指定的分隔符进行分隔。\[1\]该方法用法如下所示: ```csharp var numbers = new string\[\] { "第一个", "第二个", "第三个","第四个","第五个","第六个" }; var a = string.Join("/", numbers); // 使用"/"作为分隔符连接数组中的所有元素 var b = string.Join("/", numbers, 1, 1); // 从索引1开始,连接1个元素 var c = string.Join("/", numbers, 0, 1); // 从索引0开始,连接1个元素 var d = string.Join("-", numbers, 1, 3); // 从索引1开始,连接3个元素,使用"-"作为分隔符 var e = string.Join(",", numbers, 1, 2); // 从索引1开始,连接2个元素,使用","作为分隔符 var f = string.Join("/", numbers, 0, 0); // 不连接任何元素 Console.WriteLine(a); // 输出:第一个/第二个/第三个/第四个/第五个/第六个 Console.WriteLine(b); // 输出:第二个 Console.WriteLine(c); // 输出:第一个 Console.WriteLine(d); // 输出:第二个-第三个-第四个 Console.WriteLine(e); // 输出:第二个,第三个 Console.WriteLine(f); // 输出: ``` 除了string.Join方法,还有其他方法可以将字符串分割成数组,例如使用Split方法。\[2\]\[3\]这个方法可以根据指定的分隔符将一个字符串分割成多个子字符串,并返回一个字符串数组。可以选择保留或不保留空元素。例如: ```csharp string words = "1,2,3,4"; string\[\] split = words.Split(new string\[\] { ",", "." }, StringSplitOptions.RemoveEmptyEntries); // 返回:{"1","2","3","4"},不保留空元素 string\[\] split = words.Split(new string\[\] { ",", "." }, StringSplitOptions.None); // 返回:{"1","2","3","","4"},保留空元素 ``` 希望这些信息对你有帮助! #### 引用[.reference_title] - *1* [C# string.Join的用法](https://blog.csdn.net/Rouehang/article/details/113614992)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [C#stringSplit和Join](https://blog.csdn.net/crystal2046/article/details/5699706)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值