多个空格的正则表达式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36898043/article/details/79573242

一、借鉴别人:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public  class  Test {
     public  static  void  main(String[] args) {
         
         String str =  "  kk kkk klaf    fsaff fsge tg sagh ger fsaga   " ;
         //测试的字符串
         
         String regex =  "\\s+" ;
         //表示一个或多个空格的正则表达式
         
         str = str.trim();
         //去掉字符串开头和结尾的空格
         
         String str1 = str.replaceAll(regex,  "" );
         //去掉所有的空格
         
         String str2 = str.replaceAll(regex,  " " );
         //把一个或多个空格替换成一个空格
         
         System.out.println(str);
         System.out.println(str1);
         System.out.println(str2);
     }
}

输出结果如下:

1
2
3
kk kkk klaf    fsaff fsge tg sagh ger fsaga
kkkkkklaffsafffsgetgsaghgerfsaga
kk kkk klaf fsaff fsge tg sagh ger fsaga


总结:

    \s* 表示若干个空格(可以是0个)。

    \s+ 表示一个或多个空格


二、我的案例:

    有个txt文本,里面有一些字符串,以空格隔开,现在想要读取其中的文本,组成一个数据结构。。

我们发现,里面每行数据是一组,整体又是一组,,字符串之间有若干空格,如LinkedList<LinkedList<String>>


代码:

public LinkedList<LinkedList<String>> getContentFromTxt(String filePath) {
    LinkedList<LinkedList<String>> linkedList = new LinkedList<LinkedList<String>>();
    BufferedReader bufferedReader = null;
    try {
        bufferedReader = new BufferedReader(new FileReader(filePath));
        String lineString = "";
        String[] lineArray = null;
        String regex = "\\s+";
        while ((lineString = bufferedReader.readLine())!=null) {
            lineArray = lineString.split(regex);
            if(lineArray.length < 1){
                continue;
            }
            LinkedList<String> innerList = new LinkedList<>();
            for (String str : lineArray) {
                if("".equals(str) || str==null){
                    continue;
                }
                innerList.add(str);
            }
            linkedList.add(innerList);
        }
        bufferedReader.close();
        fileReader.close();
    }catch (Exception e){
        System.err.println("异常");
    }
    return linkedList;
}
运行结果:



猜你喜欢

转载自blog.csdn.net/qq_36898043/article/details/79573242
今日推荐