请教正则给TXT文本插入符号问题 给txt文件里所有的数字前后插入|符号, 我用regex.replace只能做到把匹配的数字替换掉,不能在匹配的数字前后加|。小弟的基础很差,没有系统学C#的,只是需要用什么就看什么,希望各位大侠可以给详细点的代码,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 string test = Regex.Replace("abc1def2ghijk34mn", @"(?is)(?<=\d)|(?=\d)", "|"); string source = "abc1def2ghijk34mn"; Regex reg = new Regex(@"(?is)([\d]+)"); source = reg.Replace(source, @",$1,");//source = "abc,1,def,2,ghijk,34,mn" 自己看书1天不如上CSDN一问,问题马上解决。还想问一下2位高手分别一个问题,1楼的兄弟如果数字是连续的应该怎样改,例如要"|34|"的效果,\d加上+号没有效果。2楼版主如果replace不加@号应该怎样写。感谢2位帮忙,先结贴,分数各半 首先说下我的方法没有2楼简洁 建议用2楼的先回答你的问题 要连续的话我1楼的做法这样修改string test = Regex.Replace("abc1def2ghijk34mn", @"(?is)(?=[^\d])(?<=\d)|(?=\d)(?<=[^\d])", "|");2楼不加@的话 正则表达式里的特殊字符就要自己用斜杠转义了 为什么不用@呢这是不加@的情况string source = "abc1def2ghijk34mn";Regex reg = new Regex("(?is)([\\d]+)");source = reg.Replace(source, ",$1,"); 结帖也可以回复,只不过关注的人就不多了@的作用是忽略转义,不加@的写法Regex reg = new Regex("\\d+");string result = reg.Replace(yourStr, @"|$0|");PS:上面用到的(?is)在这里是不需要的 (?i)可以不要 (?s)的话还要看你具体情况了 如果有数字之间换行符是否算连续 如果是那就要加上(?s) 如果不算就不要加了 顺便膜拜下过客先 string msg = "hello12fdsa3jkfdsf432324sdfdsafds"; msg = Regex.Replace(msg, @"(\d+)", ",$1,"); Console.WriteLine(msg); Console.ReadKey(); 关于动态按钮的问题 请教如何填充值? 如何将DataTable中的数据插入Excel,提供各思路 break在foreach 不起作用? GridView绑定问题 问个运行效率问题? 简单线程。 process1.Start();如何等到外部进程执行完毕再开始下面执行呢? 关于DataSet的问题,高分等你来拿! 在C#中 程序的实例句柄 和 进程的句柄是一个概念吗? 求助正则表达式 求教高手,很寸的问题,datagridview绑定datatable后在datagridview中删除行然后上下移动行出现问题
string source = "abc1def2ghijk34mn";
Regex reg = new Regex(@"(?is)([\d]+)");
source = reg.Replace(source, @",$1,");
//source = "abc,1,def,2,ghijk,34,mn"
2楼版主如果replace不加@号应该怎样写。感谢2位帮忙,先结贴,分数各半
先回答你的问题 要连续的话我1楼的做法这样修改
string test = Regex.Replace("abc1def2ghijk34mn", @"(?is)(?=[^\d])(?<=\d)|(?=\d)(?<=[^\d])", "|");2楼不加@的话 正则表达式里的特殊字符就要自己用斜杠转义了 为什么不用@呢
这是不加@的情况
string source = "abc1def2ghijk34mn";
Regex reg = new Regex("(?is)([\\d]+)");
source = reg.Replace(source, ",$1,");
Regex reg = new Regex("\\d+");
string result = reg.Replace(yourStr, @"|$0|");PS:上面用到的(?is)在这里是不需要的
msg = Regex.Replace(msg, @"(\d+)", ",$1,");
Console.WriteLine(msg);
Console.ReadKey();