牛骨文教育服务平台(让学习变的简单)
博文笔记

java替换字符串中某些字符的用法一二

创建时间:2017-01-06 投稿人: 浏览次数:4326

闲聊时候机油问了一个问题如下:
如何将下面字符串中的空格替换成一个‘,’号。
3 0 1 NULL 162 122 797 502 137 NULL NULL 16777215 1 4@0@0@3@1@0@134|-2147483640|-12|宋体|0|9|0@134|-2147483640|-12|宋体|0|9|0@134|-2147483640|-12|宋体|0|9|0@12965593@-2147483643@15724519@-2147483643 NULL


ok,下面来一手思路了。

想法1.

这个问题初一拿出来,第一想到的正则表达式。
String ss ="3 0 1 NULL 162 122 797 502 137 NULL NULL 16777215 1 4@0@0@3@1@0@134|-2147483640|-12|宋体|0|9|0@134|-2147483640|-12|宋体|0|9|0@134|-2147483640|-12|宋体|0|9|0@12965593@-2147483643@15724519@-2147483643 NULL";

System.out.println(ss.replaceAll("\s+",","));

这想法中规中矩也能实现我们的梦想。那有没有别的法子呢?于是有了下面这个

想法2

第一步,用‘,’+一个空格替换原有的空格
ss = ss.replaceAll(" ",", ");
这个时候出来的结果是:
3, , , 0, , , 1, , , NULL, , , , 162, 122, 797, 502, 137, NULL, , , , NULL, , , , 16777215, , , , 1, , , 4@0@0@3@1@0@134|-2147483640|-12|宋体|0|9|0@134|-2147483640|-12|宋体|0|9|0@134|-2147483640|-12|宋体|0|9|0@12965593@-2147483643@15724519@-2147483643, , , , NULL
然后呢用 “”替换掉 一个空格+“,”
ss = ss.replaceAll(" ,","");
结果
3, 0, 1, NULL, 162, 122, 797, 502, 137, NULL, NULL, 16777215, 1, 4@0@0@3@1@0@134|-2147483640|-12|宋体|0|9|0@134|-2147483640|-12|宋体|0|9|0@134|-2147483640|-12|宋体|0|9|0@12965593@-2147483643@15724519@-2147483643, NULL
最后用”” 替换所有的” “空格
ss = ss.replaceAll(" ","");
我们要的结果就出来了.
当然,能用正则表达式一行代码能搞定的东西为什么要用三行?
额,这就叫作。

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。