Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 分割字符串变量_C#_String_Split - Fatal编程技术网

C# 分割字符串变量

C# 分割字符串变量,c#,string,split,C#,String,Split,假设我有一个字符串变量: 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"} 在那之后,我可以这样做: str

假设我有一个字符串变量:

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'
和其他部分(字母)相同

可能吗?使用同一个字符进行此双重拆分,但第一次该字符重复两次

谢谢


警察局。我用的是C#。

它会很好用的,你的语法不正确

首先,你的声明是无效的。您需要类型上的[],而不是名称

其次,在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以删除mptyEntries。

这会很好,您的语法刚刚关闭

    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("|")
首先,你的声明是无效的。您需要类型上的[],而不是名称

其次,在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以删除mptyEntries。

在.net 3.5中:

    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("|")
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('|');
在.net 3.5中:

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('|');

是的,关于我的申报错误,你是对的,但那只是因为我急于输入问题。我编辑了问题并更正了声明以避免误读。你是对的!!非常感谢,我什么都试过了,但是:新的[]{'|}!!哈哈。再次感谢。是的,关于我的申报错误,你是对的,但那只是因为我急于输入问题。我编辑了问题并更正了声明以避免误读。你是对的!!非常感谢,我什么都试过了,但是:新的[]{'|}!!哈哈。再次感谢。这些拆分调用都不可编译<代码>“| |”与
参数char
重载不匹配,您无法执行字符串。除非将字符串设置为数组并传入StringSplitOption,否则请使用字符串进行拆分。谢谢!我有点心烦意乱,修改了它,尽管它是VBNET这些拆分调用都不可编译<代码>“| |”与
参数char
重载不匹配,您无法执行字符串。除非将字符串设置为数组并传入StringSplitOption,否则请使用字符串进行拆分。谢谢!我有点心烦意乱,修改了它,尽管它是VBNET