如何在单个Backslash java中拆分字符串

时间:2016-11-14 13:26:08

标签: java string split

所以我从方法中得到这个字符串:21\11\2016我需要在反斜杠处拆分它。我试图用其他一些字符替换单个反斜杠,但它不起作用。我必须完成的总体任务是将字符串转换为LocalDate。如果有人知道如何做,请分享。我在这里找不到任何可行的解决方案,这就是我再次提出的问题

我的方法:

    String datum=getComponentDateTextField().getText();
    // datum is "21\11\2016"
    datum=datum.replaceAll("\\\\", ".");
    String[] dates=datum.split(".");
    LocalDate dPresent = this.getDate();
    dPresent=dPresent.of(Integer.parseInt(dates[0]), Integer.parseInt(dates[1]), Integer.parseInt(dates[2]));

3 个答案:

答案 0 :(得分:2)

不要分手。只需解析:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy\\MM\\dd");
LocalDate dPresent = LocalDate.parse(datum, formatter);

答案 1 :(得分:0)

使用此方法...

String date = "21/11/2016";

String[] splitedDataFrmDate = date.split("\\/");

for(String data:splitedDataFrmDate)

{

 System.out.println(data);

}

答案 2 :(得分:0)

调用此方法将字符串转换为Date而不是使用反斜杠拆分并使其复杂化。

示例:

java.util.Date result=Coverter.getDate("21/11/2016","dd/MM/yyyy");

    public static Date getDate(String dateStr, String mask) throws LinkedException {
            if (dateStr == null) {
                return null;
            }

            try {
                SimpleDateFormat format = new SimpleDateFormat(mask);
                return format.parse(dateStr);
            } catch (Exception e) {        
            }
        }