C#中我有一段字符串: "name,title,,(a1,a1),'m1,m2',content",我想要的结果: ["name","title","","(a1,a1)","'m1,m2'","content"],直接使用Split(',')无法得到想要的结果,于是想使用Regex.Split通过正则进行分割,我应该如何定义分隔符?谢谢!
5条回答 默认 最新
- xiaoyu35 2018-06-11 11:47关注
static void Main(string[] args)
{
string str1 = "name,title,,(a1,a1),'m1,m2',content";
string pattern1 = @"(?<=(.*),(?=.*))";
string pattern2 = @"(?<=\'.*),(?=.*\')";
string replacement1 = @"%#$";
str1 = Regex.Replace(str1, pattern1, replacement1);
str1 = Regex.Replace(str1, pattern2, replacement1);
var strs1 = Regex.Split(str1, ",");
var strs2 = new string[str1.Length];
List temp = new List();
foreach (var str in strs1)
{
string tmp = null;
if(str.Contains(replacement1))
{
tmp = str.Replace(replacement1, ",");
}
else
{
tmp = str;
}
temp.Add(tmp);
}
Console.ReadKey();
}
先把()和''内的,号替换成特殊字符,然后split,最后在替换回来本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 安卓adb backup备份应用数据失败
- ¥15 eclipse运行项目时遇到的问题
- ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
- ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
- ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
- ¥50 成都蓉城足球俱乐部小程序抢票
- ¥15 yolov7训练自己的数据集
- ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
- ¥15 电力市场出清matlab yalmip kkt 双层优化问题
- ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)