如何用空字符串定界符分割字符串

时间:2018-09-13 06:11:11

标签: c# split

在Java中,

String.split(""); 

是可能的。 例如)

String[] str = "Hello world!".split("")

像这样,我想拆分String而没有转义序列。 但是在C#中,我尝试了一下,IDE却说“错误”。有什么解决办法吗?

编辑)
代码:

String[] str = "Hello world!".split("");

结果是str[0] = Hstr[1] = e,...(在Java中)

在C#中,我尝试了

strI[i] = "Hello World!".Split('');

结果是

  

'错误CS1011:空字符文字   我想用空文字分割字符串。

2 个答案:

答案 0 :(得分:0)

出现错误的原因是,没有与您的呼叫相匹配的签名方法。换句话说,当您调用Split方法时,必须将第一个参数传递为字符数组或字符串数​​组,而将第一个参数传递为简单的字符串。

以下调用不会引发任何错误,因为它与Split方法的签名匹配。

string[] sArray = s.Split(new string[] {""}, StringSplitOptions.None);

但是,上述方法将不会产生任何效果,因为结果数组将仅包含一个值为原始字符串的元素。

如果您的目标是将字符串分割成单个字符,则可以使用以下代码。

string s = "some string";
var splitString = s.ToCharArray();

答案 1 :(得分:0)

请注意,String.Split()的重载方法都不能像您所使用的那样将字符串作为第一个参数。以下是可能的overloaded methods

enter image description here

您要寻找的是将字符串拆分为字符。为此,您可以依靠String.ToCharArray Method,它将把该实例中的字符复制到Unicode字符数组。:

char[] charArray = "Hello world!".ToCharArray();

这样我们就可以使用它们的索引访问每个字符,这意味着-charArray[0]将是H

如果您需要将字符拆分为字符串数组,则可以使用以下内容:

string[] strArray = "Hello world!".Select(x=> x.ToString())
                                  .ToArray();