拆分字符串需要数组声明

时间:2013-03-30 01:07:26

标签: c#

string myStr = "part1#part2";

要拆分这个简单的字符串,Split()方法需要传递带参数的数组。真?为什么我不能只指定myStr.Split('#');为什么他们希望我声明char数组,如果我不需要它。任何人都可以解释我的逻辑或误解吗?感谢

2 个答案:

答案 0 :(得分:7)

你可以。 String.Split采用param参数,该参数允许可变数量的参数。

以下按预期工作

var text = "a,a,a";
var parts = text.Split(',');

答案 1 :(得分:0)

另一种方式,


关于布朗福克斯的更多内容

string data = "THE1QUICK1BROWN1FOX";

return data.Split(new string[] { "1" }, StringSplitOptions.None);

来自http://stackoverflow.com

的更多内容
var str = "google.com 420 AM 3 May 12";
var domain = str.Split(' ')[0];           // google.com
var tld = domain.Substring(domain.IndexOf('.')) // .com

价:http://msdn.microsoft.com/en-us/library/b873y76a.aspx

我迟到但是,

简单的导师


Split()方法最简单的语法接受一个字符数组作为唯一的参数,列出了用于确定字符串拆分位置的字符。它返回一个字符串数组,数组的每个元素对应于指定分隔符之间的值。下面的行来自清单中的第一个拆分操作:

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

以类似的方式,可以使用Join()方法将数组的元素组合成分隔的字符串。 Join()方法的最简单重载接受两个参数:一个字符串,它分隔每个数组元素,以及要组合的元素数组。 Join()方法是静态的,需要String类型标识符而不是字符串实例来实现该命令。列表中的以下行创建了一个字符串,其中包含所有年份元素,按冒号分隔:

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

<强>过载


这些是这些方法的简单实现,可能最有可能被使用。现在让我们看看它们的一些重载,看看如何实现更专业的行为。

Split()方法具有第二个参数的重载,指定要实现的分隔数。下一行将commaDelimited字符串分成三个数组元素:

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

首先想到的是,人们可能认为三个数组元素可能是Jan,Feb和Mar,但事实并非如此。第一个数组元素是Jan,第二个是Feb,最后一个是字符串的其余部分。为了自己看一下,这是输出字符串,每个数组元素用空格分隔:

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

Join()方法有一个重载,允许您提取数组的子集。前两个参数与先前描述的相同,并且第三和第四参数分别指定阵列中开始读取的位置和要读取的元素的数量。列表中的以下行创建了一个字符串,其中包含年份数组的第六个到第八个元素之间的正斜杠:

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