日期:2014-05-20  浏览次数:20831 次

正则表达式,替换指定字符(无规则)
现有一文本文件,内容格式如下:
   
  张三\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

------解决方案--------------------
探讨
引用:
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 李四………

------解决方案--------------------
探讨

引用:
引用:
C# code

string tempStr = @"张三\t男\t\t21\t123
李四\t\t女\t\22\t231";
string pattern = @"(?im)(\\t)+";
tempStr = Regex.Replace(tempStr, pattern, "|")……

------解决方案--------------------
先引用System.Text.RegularExpression;

然后每次读一行(这个不用写吧);

每读一行,就循环执行一次如下操作:
string str = Regex.Replace(line,"\\t{1,}",";"); //line为你读到的一行string,结果就是line里面的所有\t被替换为";".

参考http://www.wangqi.com/n9250c53.aspx c#正则表达式快速入门
------解决方案--------------------
探讨
引用:
引用:
引用:
C# code

string tempStr = @"张三\t男\t\t21\t123
李四\t\t女\t\22\t231";
string pattern = @"(?im)(\\t)+";
tempStr = Regex.Replace(te……