JAVA字符串处理---正则表达式替换空字符(全角空格,制表符,换行符,分页符)

  • 作者
  • KING

引言:

    最近做一个很简单昵称不允许有空字符串和屏蔽字的功能,却发现有很多坑。今天先说一个简单的字符串替换空字符串坑(主要是说如何去除全角空格,及去空字符,如tab,换行等。)。下次有时间,来说屏蔽词的坑。


正文:

   一开始的想得很简单,加上策划也没有说清楚,然后又忙,就没有细想。

   就直接

if(nick == null || nick.trim().equals("")){
    return false;
}

后来策划说,中间也不能有空字符,然后就又改成

if(nick == null || nick.indexOf(" ") >= 0){
    return false
}

然后测试的时候,策划结果说全角空格,tab这些也可以。

最后版本

public static void delBlank(String str){
    return str.replaceAll("[ *| *| *|\\s*]*", "");
}


public static boolean canUse(String nick){
    if(nick == null){
        return false;
    }
    String temp = delBlank(nick);
    if(temp.equals("")){
        return false;
    }
}


str.replaceAll("[ *| *| *|\\s*]*", "");
是替换字符串所有空字符串(),如果只想替换前后的话,则如下:
s.replaceAll("^[ *| *| *|\\s*]*", "").replaceAll("[ *| *| *|\\s*]*$", "");

 


其中注意点,正则表达中

 \s,任意空白符,

1.半角空格( ) 

2.水平制表符(\t) 

3.竖直制表符 

4.回车(\r) 

5.换行(\n) 

6.换页符(\f)

*********网上大部分资料说,不能匹配全角空格,经测试(JDK 8)可以!!!


找到参与资料:(http://www.runoob.com/regexp/regexp-syntax.html) 


\s    匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。注意 Unicode 正则表达式会匹配全角空格符。    



阿里云大力度优惠.云服务器最低可以两折起。也很多优惠券。具体【点击优惠进行详细了解。

JAVA字符串处理---正则表达式替换空字符(全角空格,制表符,换行符,分页符)

引言:

    最近做一个很简单昵称不允许有空字符串和屏蔽字的功能,却发现有很多坑。今天先说一个简单的字符串替换空字符串坑(主要是说如何去除全角空格,及去空字符,如tab,换行等。)。下次有时间,来说屏蔽词的坑。


正文:

   一开始的想得很简单,加上策划也没有说清楚,然后又忙,就没有细想。

   就直接

if(nick == null || nick.trim().equals("")){
    return false;
}

后来策划说,中间也不能有空字符,然后就又改成

if(nick == null || nick.indexOf(" ") >= 0){
    return false
}

然后测试的时候,策划结果说全角空格,tab这些也可以。

最后版本

public static void delBlank(String str){
    return str.replaceAll("[ *| *| *|\\s*]*", "");
}


public static boolean canUse(String nick){
    if(nick == null){
        return false;
    }
    String temp = delBlank(nick);
    if(temp.equals("")){
        return false;
    }
}


str.replaceAll("[ *| *| *|\\s*]*", "");
是替换字符串所有空字符串(),如果只想替换前后的话,则如下:
s.replaceAll("^[ *| *| *|\\s*]*", "").replaceAll("[ *| *| *|\\s*]*$", "");

 


其中注意点,正则表达中

 \s,任意空白符,

1.半角空格( ) 

2.水平制表符(\t) 

3.竖直制表符 

4.回车(\r) 

5.换行(\n) 

6.换页符(\f)

*********网上大部分资料说,不能匹配全角空格,经测试(JDK 8)可以!!!


找到参与资料:(http://www.runoob.com/regexp/regexp-syntax.html) 


\s    匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。注意 Unicode 正则表达式会匹配全角空格符。    



阿里云大力度优惠.云服务器最低可以两折起。也很多优惠券。具体【点击优惠进行详细了解。