我使用以下代码来拆分字符串:
string sss="125asdasdlkmlkdfknkldj125kdjfngdkjfndkg125ksndkfjdks125"; List<String> s = new List<String>(sss.Split("125"));
但是,我收到一个编译时错误:无法从“string”转换为“char[]”用另一个字符串拆分一个字符串的正确方法是什么?
0aydgbwb1#
String.Split which takes just a string没有重载,而是使用下一个最接近的匹配:
String.Split
string
List<string> s = new List<string>( sss.Split(new string[] { "125" }, StringSplitOptions.None));
3xiyfsfu2#
这让我困惑了很长时间。最后我意识到我用了双引号而不是单引号。换句话说,我有x.Split(",")而不是x.Split(',')。我改了单引号,它对我很有效。
x.Split(",")
x.Split(',')
egmofgnx3#
你可以创建一个char []:
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
odopli944#
这取决于你想达到什么目的。如果你想在字符串“125”处拆分,那么就这样做吧
sss.split(new[]{"125"},StringSplitOptions.RemoveEmptyEntries); //or StringSplitOptions.None
如果您希望在出现1、2或5时进行拆分,请执行
sss.split(new[]{'1','2','5'});
mkshixfv5#
使用字符串数组:
sss.Split(new[]{"125"},StringSplitOptions.None)
或者StringSplitOptions.RemoveEmptyEntries,如果你不想在第一个125之前有一个空字符串。
StringSplitOptions.RemoveEmptyEntries
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>
mzaanser7#
对于较新版本的.NET和.NET Standard,现在有一个重载方法将string作为参数:Split(String,StringSplitOptions)用途:
string[] result = stringValue.Split("anyStringSeparator");
h22fl7wq8#
此错误/问题在.NET Core 3.1中不存在,但在.NET 4.7.2中出现。这个错误是在尝试使用C# fiddle(https://dotnetfiddle.net/)测试某些东西时出现的,并且在我的项目中没有得到相同的消息。问题是我的项目使用的是.NET Core编译器,而小提琴没有。一旦在小提琴中更新了,错误就清除了。
8条答案
按热度按时间0aydgbwb1#
String.Split
which takes just astring
没有重载,而是使用下一个最接近的匹配:3xiyfsfu2#
这让我困惑了很长时间。最后我意识到我用了双引号而不是单引号。换句话说,我有
x.Split(",")
而不是x.Split(',')
。我改了单引号,它对我很有效。
egmofgnx3#
你可以创建一个
char []
:或
更多信息:http://msdn.microsoft.com/en-us/library/ezftk57x.aspx
odopli944#
这取决于你想达到什么目的。如果你想在字符串“125”处拆分,那么就这样做吧
如果您希望在出现1、2或5时进行拆分,请执行
mkshixfv5#
使用字符串数组:
或者
StringSplitOptions.RemoveEmptyEntries
,如果你不想在第一个125之前有一个空字符串。chy5wohz6#
试试这个:
mzaanser7#
对于较新版本的.NET和.NET Standard,现在有一个重载方法将string作为参数:Split(String,StringSplitOptions)
用途:
h22fl7wq8#
此错误/问题在.NET Core 3.1中不存在,但在.NET 4.7.2中出现。这个错误是在尝试使用C# fiddle(https://dotnetfiddle.net/)测试某些东西时出现的,并且在我的项目中没有得到相同的消息。问题是我的项目使用的是.NET Core编译器,而小提琴没有。一旦在小提琴中更新了,错误就清除了。