Re: [問題] 字串分割重組比較好的寫法

看板java作者 (是)時間7年前 (2017/09/28 23:55), 7年前編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/3 (看更多)
※ 引述《taco2548 (T@cO)》之銘言: : 我用網路爬蟲爬到日期資料 : 爬下來是字串,顯示為 28/09/2017 (星期二) : 我想把它改成 2017/09/28 (星期二) : 我知道用基本的字串檢索分割重組就可以辦到 : 但我是想問有什麼寫法比較酷的(很簡潔有力的那種) : 或是有方法可以直接用的呢 ? 如果是時間的話可以用SimpleDateFormat Java 8以上可以用java.time類別 如果不把它當成時間來處理而是字串來處理的話 大概是用Regex來處理吧 至於有沒有簡潔有力就... public static void main(String[] args) { String str = "28/09/2017 (星期二)"; Pattern pattern = Pattern.compile("(\\d\\d)/(\\d\\d)/(\\d\\d\\d\\d) \\((\\S\\S\\S)\\)"); Matcher matcher = pattern.matcher(str); if (matcher.matches()) { StringBuffer sb = new StringBuffer(); matcher.appendReplacement(sb, "$3/$2/$1 ($4)"); System.out.println(sb.toString()); } else { System.out.println("Unmatched!"); } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.86.19 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1506614155.A.E1A.html

09/29 00:00, , 1F
用 split / 然後重組...搞不好直接算位置重組就很快了..
09/29 00:00, 1F
用regex感覺比較有fu XD 字串拆解就用自己最喜歡的方式就行 ※ 編輯: zephyrhymn (1.171.86.19), 09/29/2017 00:29:20

09/29 06:26, , 2F
先轉成date還可以檢核日期合不合理
09/29 06:26, 2F
文章代碼(AID): #1PpHkBuQ (java)
文章代碼(AID): #1PpHkBuQ (java)