标签:java replaceall 空格 正则表达式 清除
首先必须声明的是,trim()方法,虽然谁都知道,但这东西注意陷入去除所有空格的误区,trim()只能去除字符串前后的字符,对于中间的字符无法处理。
如果要去除所有空格,还是要使用replaceAll的方法,比如如下语句:
space.replaceAll("\\s", "");利用正则表达式,\\s先找到所有的空格,再直接替换,
直接写成如下的方式也是可以,但是好像在某些地方,非常神奇地会出现不给力的情况:
space.replaceAll(" ", "");而如果要把多余空格,清除成一个空格,则利用如下方式:
space.replaceAll("\\s+", " ");后面的+表示如果遇到一个空格,则匹配之后的所有东西,也就是匹配1~X个空格,
当然:
space.replaceAll(" +", " ");不过某些情况还是不给力的,在正则表达式中写空格,还是写成\\s,规范点好。
同时注意如果JavaEE编程的话,注意传过来的是不是& nbsp;
综上所述,比如如下程序:
public class clearSpace { public static void main(String[] args) { String space=" s ss s "; System.out.println(space.trim()); System.out.println(space.replaceAll(" +", " ")); System.out.println(space.replaceAll("\\s+", " ")); System.out.println(space.replaceAll("\\s", "")); } }
运行结果是:
注意把处理之后的字符串,重新赋值给原来的字符串哦!
标签:java replaceall 空格 正则表达式 清除
原文地址:http://blog.csdn.net/yongh701/article/details/45271333