正则表达式,替换指定字符(无规则)
现有一文本文件,内容格式如下:
张三\t男\t\t21\t123
李四\t\t女\t\22\t231
每行的字段之间用\t隔开,但是\t数不固定
求一个正则表达式,将不固定的 \t 替换成一个固定的字符
谢谢!~~
------解决方案--------------------直接用string.replace不行么
------解决方案--------------------C# code
string tempStr = @"张三\t男\t\t21\t123
李四\t\t女\t\22\t231";
string pattern = @"(?im)(\\t)+";
tempStr = Regex.Replace(tempStr, pattern, "|");//输出:张三|男|21|123\r\n 李四|女|\\22|231
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
先引用System.Text.RegularExpression;
然后每次读一行(这个不用写吧);
每读一行,就循环执行一次如下操作:
string str = Regex.Replace(line,"\\t{1,}",";"); //line为你读到的一行string,结果就是line里面的所有\t被替换为";".
参考http://www.wangqi.com/n9250c53.aspx c#正则表达式快速入门
------解决方案--------------------