※ 引述《taco2548 ([email protected])》之銘言:
: 我用網路爬蟲爬到日期資料
: 爬下來是字串,顯示為 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!");
}
}