我使用以下代码拆分字符串:
string sss="125asdasdlkmlkdfknkldj125kdjfngdkjfndkg125ksndkfjdks125";
List<String> s = new List<String>(sss.Split("125"));
但是,我收到编译时错误:
无法从'string'转换为'char []'
用另一个字符串拆分字符串的正确方法是什么?
答案 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()));
答案 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编译器,而提琴却没有。在小提琴中对其进行更新后,错误将清除。