黑马程序员技术交流社区
标题:
用正则表达式替换
[打印本页]
作者:
赵茹艳
时间:
2012-5-15 16:06
标题:
用正则表达式替换
如何用正则表达式把192.168.1.50替换成192.168.001.050?
作者:
黑马张立国
时间:
2012-5-15 16:17
毕老师的最后正则表达式里有
作者:
云惟桉
时间:
2012-5-15 22:55
String str1 = "192.168.1.50";
String[] parts = str1.split(".");
StringBuilder sb = new StringBuilder();
for(String s : parts){
s.replaceAll("([0-9]+)", "0*$1{3}");
sb.append(s);
}
System.out.println(sb.toString());
大致写了一下过程,不知道具体的正则表达式替换是否正确,但是思路是这样的,楼主要是发现有错误大可不必参考,自己写出来更有价值。
希望能帮到你啊。
作者:
赵茹艳
时间:
2012-5-24 20:04
直接考你的代码运行控制台无输出啊!下面是我的做法,两次替换
String ip = "我的IP是: 192.168.1.50";
ip = ip.replaceAll("(\\d{1,3})", "00$1").replaceAll("0*(\\d{3})", "$1");// 00192.00168.001.0050 -> 192.168.001.050
System.out.println(ip);
作者:
崔陈喜
时间:
2012-5-24 21:20
192.168.1.50替换成192.168.001.050如下:
ip_str = ip_str.replaceAll("(\\d+)", "00$1");//这里用到正则表达式的替换$1代表前边括号里的内容,也就是在每位数上加0,
System.out.println(ip_str);
ip_str = ip_str.replaceAll("0*(\\d{3})", "$1");//(\\d{3})这里表示从保留左面的三个数
System.out.println(ip_str);
//一般用在按照字符串的字典顺序排序,
//但是必须要先保证每一个ip段的位数是3位。补足用0补。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2