Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.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# 我想用“quot;”拆分字符串&引用;但是从第二个逗号(,)_C# - Fatal编程技术网

C# 我想用“quot;”拆分字符串&引用;但是从第二个逗号(,)

C# 我想用“quot;”拆分字符串&引用;但是从第二个逗号(,),c#,C#,我想用“,”分隔字符串,但从第二个逗号(,)开始,还没有尝试过,但您需要类似以下内容: string pattern = "|\*,"; string[] result = Regex.Split(before_split, pattern); 若您正在寻找先跳过',',&然后用','分割字符串的其余部分,那个么您可以尝试以下操作 string before_split = "pune,mumbai|01234,delhi|65432,Bhopal|09231,jaba

我想用“,”分隔字符串,但从第二个逗号(,)开始,

还没有尝试过,但您需要类似以下内容:

string pattern = "|\*,";            
string[] result = Regex.Split(before_split, pattern);

若您正在寻找先跳过',',&然后用','分割字符串的其余部分,那个么您可以尝试以下操作

string before_split = "pune,mumbai|01234,delhi|65432,Bhopal|09231,jabalpur|0987765";

var firstPart = before_split.Substring(0, before_split.IndexOf(",", System.StringComparison.Ordinal));
var stringToProcess = before_split.Substring(before_split.IndexOf(",", System.StringComparison.Ordinal) + 1);
var stringSegments = stringToProcess.Split(',');

Console.WriteLine("{0},{1}",firstPart ,stringSegments[0]);

for (var i = 1; i < stringSegments.Length; i++)
{
    Console.WriteLine(stringSegments[i]);
}
string before_split=“浦那,孟买| 01234,德里| 65432,博帕尔| 09231,贾巴尔普尔| 0987765”;
var firstPart=before_split.Substring(0,before_split.IndexOf(“,”,System.StringComparison.Ordinal));
var stringToProcess=before_split.Substring(before_split.IndexOf(“,”,System.StringComparison.Ordinal)+1);
var stringSegments=stringToProcess.Split(',');
WriteLine(“{0},{1}”,第一部分,stringSegments[0]);
对于(var i=1;i
试试这个,最终结果会显示在finalSplit列表上

    string before_split = "pune,mumbai|01234,333,222,delhi|65432,Bhopal|09231,jabalpur|0987765";
    string[] split1 = before_split.Split(',');
    List<string> finalSplit = new List<string>();
    string aux = "";
    foreach (string s in split1)
    {
        if (s.IndexOf('|') == -1)
            aux = aux + s + ',';
        else
        {
            if (aux == "")
                aux = s;
            else
                aux = aux  + s;
            finalSplit.Add(aux);
            aux = "";
        }
    }
string before_split=“孟买浦那| 01234333222,德里| 65432,博帕尔| 09231,贾巴尔普尔| 0987765”;
string[]split1=在_split.split(',')之前;
List finalSplit=新列表();
字符串aux=“”;
foreach(拆分1中的字符串s)
{
如果(s.IndexOf(“|”)=-1)
aux=aux+s+',';
其他的
{
如果(aux==“”)
aux=s;
其他的
aux=aux+s;
最终拆分添加(辅助);
aux=“”;
}
}
希望有帮助

我的解决方案是

string before_split = "pune,mumbai|01234,delhi|65432,Bhopal|09231,123,jabalpur|0987765";

string buffer = "";
var parts = before_split.Split(',');
var lines = parts.Select(p =>
{
    if (p.Contains('|'))
    {
        var line = buffer == "" ? p : buffer + ',' + p;
        buffer = "";
        return line;
    }
    else
    {
        buffer = buffer == "" ? p : buffer + ',' + p;
        return null;
    }
}).Where(p => p != null).ToArray(); 
这个怎么样

        Regex rex = new Regex("[a-zA-Z]+[a-zA-Z,]*[|]+[0-9]+");

        var result = rex.Matches("pune,mumbai|01234,delhi|65432,Bhopal|09231,jabalpur|0987765").Cast<Match>()
            .Select(m => m.Value)
            .ToArray()
Regex-rex=newregex(“[a-zA-Z]+[a-zA-Z,]*[|]+[0-9]+”;
var result=rex.Matches(“浦那、孟买| 01234、德里| 65432、博帕尔| 09231、贾巴尔普尔| 0987765”).Cast()
.选择(m=>m.Value)
.ToArray()

这两个字符串是相同的。您能告诉我们您希望将结果存储在哪种变量类型中吗?您尝试过什么?你遇到了什么问题。这不是一个人们只会得到你的工作的地方。非常感谢,但是有可能为其他条件写动态代码:“德里65432,浦那,孟买01234,博帕尔09231,贾巴尔普尔0987765”,结果应该和上面一样,你可以考虑任何排列组合。我不明白你的意思。对于排列,我尝试不同的形式,并且总是正确地解析value1、value2、…valueN | number
        Regex rex = new Regex("[a-zA-Z]+[a-zA-Z,]*[|]+[0-9]+");

        var result = rex.Matches("pune,mumbai|01234,delhi|65432,Bhopal|09231,jabalpur|0987765").Cast<Match>()
            .Select(m => m.Value)
            .ToArray()