黑马程序员技术交流社区
标题:
关于利用正则表达式来替换字符串里的内容的方法
[打印本页]
作者:
江鹏
时间:
2013-5-25 17:08
标题:
关于利用正则表达式来替换字符串里的内容的方法
本帖最后由 江鹏 于 2013-5-26 12:27 编辑
比如下面这段代码
string str = "guhhi11/11/1111hioi";
string str1 = str.Replace("11/11/1111","1111/11/11");
Console.WriteLine(str1);
string str2 = str.Replace("\\d{2}/\\d{2}/\\d{4}","1111/11/11");
Console.WriteLine(str2);
Console.ReadKey();
复制代码
str1的结果是正确替换掉了。。。
但是如果我用了正则表达式来完成时(也就是str2)却无法替换了 str2的结果和str是一样的。
求解释为啥 难道我正则表达式用法不正确么
作者:
曾大鹏
时间:
2013-5-25 18:11
本帖最后由 曾大鹏 于 2013-5-25 18:27 编辑
你正则写错了
应该这样写
string str = "guhhi11/11/1111hioi";
str = Regex.Replace(str,@"\d{2}/\d{2}/\d{4}","1111/11/11");
Console.WriteLine(str);
复制代码
作者:
曾大鹏
时间:
2013-5-25 18:28
曾大鹏 发表于 2013-5-25 18:11
你正则写错了
应该这样写
改了 你看一下
作者:
shenge321
时间:
2013-5-25 18:31
曾大鹏 发表于 2013-5-25 18:28
改了 你看一下
我也跟楼主犯了同样的错误,在js里这样写没问题。
但在c#里需要Regex类。楼主的正则没问题。你的正则加@也可以。
Regex rg = new Regex("\\d{2}/\\d{2}/\\d{4}");
string str2 = rg.Replace(str,"1111/11/11");
Console.WriteLine(str2);
Console.ReadKey();
复制代码
作者:
江鹏
时间:
2013-5-26 12:26
嗯 多谢上面2位的解答了。。。 搞懂了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2