字符串中空格符的替换问题

来源:互联网 发布:多多返利app源码下载 编辑:程序博客网 时间:2024/06/18 14:58

问题:有一段字符串” ab sa fja “,两边和字符串中间有若干长度未知的空格符,需要将两端的去掉,中间的只保留一个空白符。
——京东面试题

简单思路:
思路一:使用正则表达式来匹配出多个空格,从而分割字符串,然后拼接即可。
思路二:使用正则表达式来判断首尾情况(或trim),再使用replaceAll(Java)等系统函数来替换。

代码如下:

        int len=str.length();        if(len==0) return "";        Pattern pattern = Pattern.compile("\\s+");        String[] arr=pattern.split(str);        String re="";        for(String i:arr)            if(!i.equals("")) re=re+i+" ";        return re.substring(0,re.length()-1);

INPUT “ a b ”
OUTPUT “a b”


主要要注意字符串前面有若干空白字符的情况即可。
注意split分割时会出现""的情况,如官网中示例:

输入”boo:and:foo”

Regex Result o { “b”, “”, “:and:f” }
0 0