程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> 正則表達式-在java中怎麼獲取下面一個字符串內容中的部分信息,請指教

正則表達式-在java中怎麼獲取下面一個字符串內容中的部分信息,請指教

編輯:編程解疑
在java中怎麼獲取下面一個字符串內容中的部分信息,請指教

下面這個是我的字符串(所有的,不是一行),值是System.out.println()打印出來的

LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
hd5 boot 1 1 1 closed/syncd N/A
hd6 paging 17 17 1 open/syncd N/A
hd8 jfs2log 1 1 1 open/syncd N/A
hd4 jfs2 120 120 1 open/syncd /
hd2 jfs2 20 20 1 open/syncd /usr
hd9var jfs2 8 8 1 open/syncd /var
hd3 jfs2 40 40 1 open/syncd /tmp
hd1 jfs2 40 40 1 open/syncd /home
hd10opt jfs2 40 40 1 open/syncd /opt
hd11admin jfs2 1 1 1 open/syncd /admin

現在我的問題是想要獲取得到LV NAME:hd5,LV NAME:hd6 這樣的數據格式的值。
請問我要怎麼才能得到這樣的格式呢?主要是後面的值不好獲取,這個用正則表達式嗎?如果是用正則表達式,我該怎麼去寫呢?還望知道的大神不奢指教,我先在這裡謝謝了!

最佳回答:


 String string = "LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT\n" +
                "hd5 boot 1 1 1 closed/syncd N/A\n" +
                "hd6 paging 17 17 1 open/syncd N/A\n" +
                "hd8 jfs2log 1 1 1 open/syncd N/A\n" +
                "hd4 jfs2 120 120 1 open/syncd /\n" +
                "hd2 jfs2 20 20 1 open/syncd /usr\n" +
                "hd9var jfs2 8 8 1 open/syncd /var\n" +
                "hd3 jfs2 40 40 1 open/syncd /tmp\n" +
                "hd1 jfs2 40 40 1 open/syncd /home\n" +
                "hd10opt jfs2 40 40 1 open/syncd /opt\n" +
                "hd11admin jfs2 1 1 1 open/syncd /admin";
        string = string.replaceAll("\r|\n", "##");//將換行轉換成##
        String name = string.replaceAll("(\\w+\\s+\\w+).+", "$1");//提取出name
        System.out.println(name);//打印name
        Pattern pattern = Pattern.compile("##(\\w+?\\d+)");//匹配換行後的第一列標准字符
        Matcher matcher = pattern.matcher(string);
        StringBuilder sb = new StringBuilder();
        while(matcher.find()) {//逐個查詢
            sb.append(name).append(":").append(matcher.group(1)).append(",");
        }
        if(sb.length() > 0) System.out.println(sb.substring(0, sb.length() - 1));

看看是不是你想要的,如果不是,告訴我明確需求吧...

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved