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