无法将'string'转换为'char []'进行拆分

时间:2011-11-08 19:26:12

标签: c# .net

我使用以下代码拆分字符串:

string sss="125asdasdlkmlkdfknkldj125kdjfngdkjfndkg125ksndkfjdks125";

List<String> s = new List<String>(sss.Split("125"));

但是,我收到编译时错误:

  

无法从'string'转换为'char []'

用另一个字符串拆分字符串的正确方法是什么?

7 个答案:

答案 0 :(得分:28)

String.Split which takes just a string没有重载,而是使用下一个最接近的匹配:

List<string> s = new List<string>(
    sss.Split(new string[] { "125" }, StringSplitOptions.None));

答案 1 :(得分:6)

您只需创建char []

即可
 List<String> s = new List<String>(sss.split(new char[] {'1', '2', '5'}))

 List<String> s = new List<String>(sss.split("125".ToCharArray()));

更多信息:http://msdn.microsoft.com/en-us/library/ezftk57x.aspx

答案 2 :(得分:2)

这取决于你想要达到的目标。如果您希望拆分字符串“125”,请执行

sss.split(new[]{"125"},StringSplitOptions.RemoveEmptyEntries); //or StringSplitOptions.None

如果您希望在任何出现的1,2或5时分割,请执行

sss.split(new[]{'1','2','5'}); 

答案 3 :(得分:1)

使用字符串数组:

sss.Split(new[]{"125"},StringSplitOptions.None)

StringSplitOptions.RemoveEmptyEntries如果您不想在前125个字符之前输入空白字符串。

答案 4 :(得分:1)

这让我很困惑。最终,我意识到我使用了双引号而不是单引号。换句话说,我有x.Split(",")而不是x.Split(',')

我改为单引号,它对我有用。

答案 5 :(得分:0)

试试这个:

//string = "friend&mom&dad&brother"
  string.Split('&')[int];
//string.Split('&')[0] = "friend"<br>
//string.Split('&')[1] = "mom"<br>
//string.Split('&')[2] = "dad"<br>
//string.Split('&')[3] = "brother"<br>

答案 6 :(得分:0)

此错误/问题在.NET Core 3.1中不存在,但在.NET 4.7.2中确实存在。尝试使用C#小提琴(https://dotnetfiddle.net/)进行测试时出现此错误,但在我的项目中没有得到相同的消息。问题是我的项目正在使用.NET Core编译器,而提琴却没有。在小提琴中对其进行更新后,错误将清除。