[英]Regex pattern for removing .0 from a string containing date separated by Delimiter
我有一個看起來像這樣的字符串:
"2013-10-19 22:21:21#2013-10-23 16:17:19#2013-10-25 13:15:14.0#2013-10-19 08:11:34.0#2013-10-23 16:17:19#"
我需要從日期末尾刪除.0。 即2013-10-25 13:15:14.0 should be 2013-10-25 13:15:14
可能的正則表達式模式是什么。
如果那是您的字符串,並且里面沒有其他數據,則可以使用簡單的替換; 無需任何正則表達式:
String str = "2013-10-19 22:21:21#2013-10-23 16:17:19#2013-10-25 13:15:14.0#2013-10-19 08:11:34.0#2013-10-23 16:17:19#";
String res = str.replace(".0", "");
System.out.println(res);
輸出:
2013-10-19 22:21:21#2013-10-23 16:17:19#2013-10-25 13:15:14#2013-10-19 08:11:34#2013-10-23 16:17:19# - See more at: http://ideone.com/WrDbqS#sthash.iQsWV8gp.dpuf
您可以使用:
str = str.replaceAll("\\.0(?=#)", "");
如果后跟#
則它將用空字符串替換.0
。
當出現在#
或字符串末尾時,將刪除(用空白代替) .0
:
str = str.replaceAll("\\.0(?=#|$)", "");
嘗試這個
str = str.replaceAll("(\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2})\\.\\d+", "$1");
沒有regex
您可以執行以下操作。
String str="2013-10-19 22:21:21#2013-10-23 16:17:19#2013-10-25 13:15:14.0#2013-10-19 08:11:34.0#2013-10-23 16:17:19#";
String[] dates=str.split("#");
for(String i:dates){
if(i.lastIndexOf('0')==(i.length()-1)){
System.out.println(i.replaceAll(".0",""));
}else {
System.out.println(i);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.