我想删除此方括号。我尝试了它,但它给出了相同的输出。
String datetime = [Thu Sep 14 17:00:00 GMT+05:30 2017];
datetime=datetime.replaceAll("\\[", "").replaceAll("\\]","");
我哪里错了?
答案 0 :(得分:-1)
如果您已经自己设置了datetime字符串,为什么不在没有方括号的情况下设置它?
String datetime = "Thu Sep 14 17:00:00 GMT+05:30 2017";
你应该有一个编译器错误,因为你的String datetime无效,因为它没有双引号。
另一方面,如果您从Java类Date
收到datetime String的数据,那么您可以使用SimpleDateFormat
更改您收到的数据的格式。
如果您不知道如何使用SimpleDateFormat,请查看here
以下是一些简短的示例,您可以查看完整的教程here:
public class GetCurrentDateTime {
private static final DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
private static final DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
public static void main(String[] args) {
Date date = new Date();
System.out.println(sdf.format(date));
Calendar cal = Calendar.getInstance();
System.out.println(sdf.format(cal.getTime()));
LocalDateTime now = LocalDateTime.now();
System.out.println(dtf.format(now));
LocalDate localDate = LocalDate.now();
System.out.println(DateTimeFormatter.ofPattern("yyy/MM/dd").format(localDate));
}
}
答案 1 :(得分:-1)
不要用任何东西替换括号,用正则表达式匹配括号内部,然后用内部部分替换整个字符串。
喜欢这个
String datetime = "[Thu Sep 14 17:00:00 GMT+05:30 2017]";
datetime=datetime.replaceAll("\\[(.*)\\]", "$1");
System.out.println( datetime); // output is: Thu Sep 14 17:00:00 GMT+05:30 2017