C#中的如何:连接和分割字符串

原文地址:http://www.dingos.cn/index.php?topic=1990.0

介绍

当开发程序与外部系统交互是,通常需要以统一的形式处理数据。例如,使用Excel电子表格来处理数据。Excel可以输出一个逗号分隔值(CSV)工作表格式。使用字符串的Split()方法可以提取两个逗号之间的值。相似的,字符串的Join()方法可以从数组使用分隔符连接字符串,例如使用逗号。下面显示如何使用字符串的Split()Join()方法:

 

Listing 1:连接和拆分字符串 - StringJoinSplit.cs

using System;

namespace csharp_station.howto{
    class StringJoinSplit{
        static void Main(string[] args) {
            // 逗号分隔字符串
            string commaDelimited =
                    "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec";
           Console.WriteLine("Original Comma Delimited String: /n{0}/n",
                     commaDelimited);
            // 两个逗号之间的分隔线
            string[] year = commaDelimited.Split(new char[] {','});
            Console.WriteLine("Each individual item: ");
            foreach(string month in year) {
                Console.Write("{0} ", month);
            }
            Console.WriteLine("/n");

            //
使用新的分隔符合并字符串
            string colonDelimeted = String.Join(":", year);
            Console.WriteLine("New Colon Delimited String: /n{0}/n",
                       colonDelimeted);
            string[] quarter = commaDelimited.Split(new Char[] {','}, 3);
            Console.WriteLine("The First Three Items: ");
            foreach(string month in quarter) {
                Console.Write("{0} ", month);
            }
            Console.WriteLine("/n");
            string thirdQuarter = String.Join("/", year, 6, 3);
            Console.WriteLine("The Third Quarter: /n{0}/n", thirdQuarter);
        }
    }
}

输出结果:

Original Comma Delimited String:

Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec

 

Each individual item:

Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

 

New Colon Delimited String:

Jan:Feb:Mar:Apr:May:Jun:Jul:Aug:Sep:Oct:Nov:Dec

 

The First Three Items:

Jan Feb Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec

 

The Third Quarter:

Jul/Aug/Sep

上面代码,使用逗号分隔字符串名字为commaDelimited,保存一年十二个月的名称,使用逗号分隔。拆分字符串,使用其他三种分隔符连接字符串,最后连接字符串中的第6为到第8为元素。

Split()方法的简单语法是接收一个字符串数组作为唯一参数,列出的字符串确定什么时候拆分字符串。它返回一个字符串数组,数组中的元素是特殊分隔符之间的值。下面的代码是从列表中第一个拆分符拆分:

      string[] year = commaDelimited.Split(new char[] {','});

相同的方式,数组中的元素可以使用Join()方法连接成一个字符串。最简单的重载Join()方法接收两个参数:一个字符串,分隔数组中每个元素;一个要结合的元素数组。Join()是静态方法,需要使用String类型标识符,而不是string实例,执行操作。下面代码从所有的year元素中创建一个字符串,使用冒号分隔:

      string colonDelimeted = String.Join(":", year);

 

重载

这里有一些方法的简单实现,可能比较常用。看看他们的重载方法如何执行一些特殊的操作。

Split()方法有一个带两个参数的重载方法,指定执行拆分的个数。下面代码显示拆分thecommaDelimited字符串到3个元素的数组中:

      string[] quarter = commaDelimited.Split(new Char[] {','}, 3);

第一想法,可能认为数组的三个元素可能是JanFeb,  Mar,实际上不是,第一个元素是Jan,第二个元素是Feb,最后一个元素是剩下的字符串。为了明白,这里输出拆分后数组中的每个元素:

Jan Feb Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec

Join()也有一个重载方法允许提取数组中的部分元素。前两个参数和前面是相同,第三个和第四个参数指定在数组中的位置和读取的元素的个数。下面代码从year数组中创建一个字符串,去第六位到第八位的元素:

      string thirdQuarter = String.Join("/", year, 6, 3);

 

总结

字符串的Split()Join()方法提供了拆分字符串的功能。Split()方法可以获得从字符串拆分到数组的值,Join()方法可以从数组创建一个带分隔符的字符串。同时支持自定义格式和其他程序进行信息交换。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜晚回家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值