C# - 删除String的开头然后用分隔符拆分

时间:2014-06-06 20:40:44

标签: c# string split

我在执行操作时遇到问题,我使用子字符串在字符串上定义自定义分隔符,删除字符串的前5个字符,然后用分隔符拆分字符串。

string delimiterString = numbers.Substring(2, 1);
char delimiter = delimiterString[0];
string result[] = numbers.Remove(0, 5);
result = numbers.Split(delimiter);

我得到的错误是在第三行:Cannot implicitly convert type string[] to string. Split方法似乎需要一个char数组,而remove需要一个字符串,而我在两者之间转换时遇到问题。有人可以帮忙吗?

3 个答案:

答案 0 :(得分:6)

Split返回一个字符串数组(string []),而Remove返回一个字符串。您需要使用不同的变量来存储这些值:

string delimiterString = numbers.Substring(2, 1);
char delimiter = delimiterString[0];
string resultSource = numbers.Remove(0, 5);
string[] result = resultSource.Split(delimiter);

另请注意,您错放了数组括号。您发布的示例代码不应该编译。

答案 1 :(得分:1)

从字符串中删除字符会返回一个字符串,而不是一个数组,然后您应该拆分该字符串,而不是原始字符串。

获取分隔符可以在没有中间字符串的情况下完成,并且删除开头的字符串可以直接在分割中使用,因此可以在单个语句中完成:

string[] result = numbers.Substring(5).Split(numbers[2]);

答案 2 :(得分:0)

Remove返回stringNot a string[]

Split返回string[]

因此,您需要为这两个函数使用不同的变量。