[英]Remove specific words/strings from the list
我们如何只从字符串中删除和保留日期:
For ex: String outPut = {Time = 0:0:0} {Timestamp = Tue Oct 20 23:54:10 BST 2013}
我只想约会
For ex: Tue Oct 20 2013
到目前为止,我已经尝试了以下方法:
String[] manipulateDate = output.getDate().split("\\{");
for(String s : manipulateDate ){
String outputDate = manipulateDate [2].replaceAll("\\}", "").replaceAll("\\s*\\bTimestamp =\\b\\s*","");
System.out.println(outputDate );
}
实现和使用Java日期/字符串的最佳方法是什么?
要严格回答您的问题,您可以执行以下操作:
String date = output.replaceAll(".*Timestamp = (.*)? \\d{2}:.*?(\\d{4}).*", "$1 $2");
但是,最好将整个字符串解析为日期对象:
String output = "{Time = 0:0:0} {Timestamp = Sun Oct 20 23:54:10 BST 2013}";
String timestamp = output.replaceAll("\\{.*?\\} \\{Timestamp = (.*)\\}", "$1"); //Sun Oct 20 23:54:10 BST 2013
ZonedDateTime dateTime = ZonedDateTime.parse(timestamp, DateTimeFormatter.ofPattern("E MMM dd HH:mm:ss z yyyy", Locale.ENGLISH));
从那时起,您可以对date对象执行所需的操作,包括将其打印为字符串。 请注意,我将原始字符串更改为Sunday(相对于您的问题中的Tuesday):将其解析为日期还发现了2013年10月20日不是星期四这一事实,这是优于字符串的另一个优势。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.