多个空格的正则表达式

xiaoxiao2021-02-28  47

一、借鉴别人:

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; } 运行结果:

转载请注明原文地址: https://www.6miu.com/read-2624640.html

最新回复(0)