假设我有这个字符串var:
string strData = "1|2|3|4||a|b|c|d"
然后,我做了一个分裂:
string[] strNumbers = strData.Split("||"); //something like this, I know It's not this simple
我需要两个独立的部分,每个部分包含:
//strNumbers -> {"1","2","3","4"},{"a","b","c","d"}
在那之后,我可以这样做:
string[] strNumArray = strNumbers[0].Split('|');
//strNumArray -> '1', '2', '3', '4'
与其他部分(字母)相同。
有可能吗?使用相同的字符进行双重拆分,但第一次重复两次字符?。
感谢。
PD。我正在使用C#。
答案 0 :(得分:5)
它会正常工作,你的语法就会关闭。
首先,您的声明已关闭。你想要类型的[],而不是名称。
其次,在String.Split上,有一个重载,它接受一个字符串数组和一个StringSplitOptions。只是想做“||”将调用param char重载,这是无效的。
所以试试这个:
string strData = "1|2|3|4||a|b|c|d";
string[] strNumbers = strData.Split(new[] {"||"}, StringSplitOptions.None);
string[] strNumArray = strNumbers[0].Split('|');
如果需要,可以将StringSplitOptions更改为RemoveEmptyEntries。
答案 1 :(得分:0)
string strData = "1|2|3|4||a|b|c|d";
var s1 = strData.Split(new string[] { "||" }, StringSplitOptions.None);
var numbers = s1[0].Split('|');
var letters = s1[1].Split('|');
答案 2 :(得分:-1)
Dim s As String = "1|2|3|4|5|6|7||a|b|c|d|e|f"
Dim nums() As String = s.Split(New String() {"||"}, StringSplitOptions.None)(0).Split("|")
Dim strs() As String = s.Split(New String() {"||"}, StringSplitOptions.None)(1).Split("|")