.net 无法从“string”转换为“char[]”进行拆分

cunj1qz1  于 2023-06-25  发布在  .NET
关注(0)|答案(8)|浏览(319)

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

string sss="125asdasdlkmlkdfknkldj125kdjfngdkjfndkg125ksndkfjdks125";

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

但是,我收到一个编译时错误:
无法从“string”转换为“char[]”
用另一个字符串拆分一个字符串的正确方法是什么?

0aydgbwb

0aydgbwb1#

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

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

3xiyfsfu2#

这让我困惑了很长时间。最后我意识到我用了双引号而不是单引号。换句话说,我有x.Split(",")而不是x.Split(',')
我改了单引号,它对我很有效。

egmofgnx

egmofgnx3#

你可以创建一个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

odopli94

odopli944#

这取决于你想达到什么目的。如果你想在字符串“125”处拆分,那么就这样做吧

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

如果您希望在出现1、2或5时进行拆分,请执行

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

mkshixfv5#

使用字符串数组:

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

或者StringSplitOptions.RemoveEmptyEntries,如果你不想在第一个125之前有一个空字符串。

chy5wohz

chy5wohz6#

试试这个:

//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>
mzaanser

mzaanser7#

对于较新版本的.NET和.NET Standard,现在有一个重载方法将string作为参数:Split(String,StringSplitOptions)
用途:

string[] result = stringValue.Split("anyStringSeparator");

h22fl7wq

h22fl7wq8#

此错误/问题在.NET Core 3.1中不存在,但在.NET 4.7.2中出现。这个错误是在尝试使用C# fiddle(https://dotnetfiddle.net/)测试某些东西时出现的,并且在我的项目中没有得到相同的消息。问题是我的项目使用的是.NET Core编译器,而小提琴没有。一旦在小提琴中更新了,错误就清除了。

相关问题