C# string.split用法分解:字符串2,"3,4",5 成为:字符串数组{2},{3,4},{5}

如题,使用其他用法也行,最好简单一些,因为用作很多行的处理,谢谢了... 如题,使用其他用法也行,最好简单一些,因为用作很多行的处理,谢谢了 展开
 我来答
jnervo
2011-11-07 · TA获得超过757个赞
知道小有建树答主
回答量:469
采纳率:0%
帮助的人:149万
展开全部
string str="2,\"3,4\",5";
string[] arr=str.Split('\"'); //先按双引号分割
for (int i = 0; i < arr.Length; i++)
{
arr[i] = arr[i].Trim(",".ToCharArray());//去除首尾的逗号
Console.WriteLine(arr[i]);
}

应该用Trim,Replace会把"3,4"之间的","也该去掉
更多追问追答
追问
同1楼,trim确实能保留3,4之间的逗号,但还差点,谢谢了
怎么处理。。。再求
追答
string str = "1,2,\"3,4\",5,6,7,\"8,9\"";
List resultArr = new List();

string[] arr = str.Split('\"'); //先按双引号分割
for (int i = 0; i < arr.Length; i++)
{

if (i % 2 == 0)
{
resultArr.AddRange(arr[i].Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries));
}
else
{
resultArr.Add(arr[i]);
}

}
foreach (string result in resultArr)
{
Console.WriteLine(result);
}
syht2000
高粉答主

2011-11-07 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
string str="2,\"3,4\",5";
string[] arr=str.Split('\"');
for(int i=0;i<arr.Length;i++) arr[i]= arr[i].Replace(",", "");
更多追问追答
追问
这个方法只适用与此例,但实际中可能是这样就不能处理了。
1,2,“3,4”,5,6,7,“8,9”
不过仍然谢谢了
追答
你确认一下逗号倒底是中文的还是英文的(你题目中写的是英文的,但是1,2,“3,4”,5,6,7,“8,这些都是中文逗号),而且你后面列举的引号也都是中文的,如果你需要处理这种符号问题,上面程序当然就需要更改
string str="2,\"3,4\",5";
str=str.Replace(",",",").Replace("“","\"").Replace("”","\"");
string[] arr=str.Split('\"');
for(int i=0;i<arr.Length;i++) arr[i]= arr[i].Replace(",", "");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
foxtang1983
2011-11-07 · TA获得超过139个赞
知道答主
回答量:163
采纳率:0%
帮助的人:92.2万
展开全部
string str = "2"+"/3,4"+"/5";
string[] arr = str.Split('/');
for (int i = 0; i < arr.Length; i++)
{
Console.WriteLine(arr[i]);
}
追问
此方法错误。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式