繁体   English   中英

从列表中删除特定的单词/字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM