2011-05-11 214 views
3

如何使用字符串分隔符分割字符串?如何使用字符串分隔符分割字符串?

我已经试过:

string[] htmlItems = correctHtml.Split("<tr"); 

我得到的错误:

Cannot convert from 'string' to 'char[]' 

什么是拆就一个给定的字符串参数字符串的推荐的方法?

+0

我没有看到任何将字符串作为唯一参数的重载。我错过了什么吗? http://msdn.microsoft.com/en-us/library/system.string.split.aspx – ChaosPandion 2011-05-11 21:12:43

+0

@ChaosPandion:问题是我将如何拆分给定单词的字符串。 – 2011-05-11 21:14:07

回答

7

有和string.Split一个版本,需要一个字符串数组的选项参数:

string source = "[stop]ONE[stop][stop]TWO[stop][stop][stop]THREE[stop][stop]"; 
string[] stringSeparators = new string[] {"[stop]"}; 
string[] result = source.Split(stringSeparators, StringSplitOptions.None); 

因此,即使你只需要你想拆就你还是把它作为一个数组一个分隔符。

以Mike Hofer的回答为出发点,这种扩展方法会使它更简单一些。

public static string[] Split(this string value, string separator) 
{ 
    return value.Split(new string[] {separator}, StringSplitOptions.None); 
} 
+0

打了我22秒+1 ... – 2011-05-11 21:14:29

+0

谢谢,这工作很好,虽然代码有点复杂。 :) – 2011-05-11 21:16:10

0

您还需要使用StringSplitOptions参数在斯普利特。

0

收件扩展方法:

public static string[] Split(this string value, string separator) 
{ 
    return value.Split(separator.ToCharArray()); 
} 

问题解决了。

+0

好主意,虽然此实现将失败,因为分隔符比单个字符长。 – ChrisF 2011-05-11 21:54:41