删除特殊符号/分隔符,例如int,逗号, - ,out of int

时间:2017-06-28 10:06:25

标签: java user-interface symbols

我希望这个人在他/她的生日那天写字,之后我想把它与pi的数量进行比较。 但我希望该计划具有灵活性。所以日期不应该像 daymonthyear(13091975)但也喜欢day.month.year(19.09.1975)或喜欢day-month-year(13-09-1975) 我已经找到了一个想法,但它不起作用

String sep = "";
String geb = nf_datum.getText();
geb = geb.replaceAll(".", Matcher.quoteReplacement(sep));

我发现了这个想法" replaceAll"在这里:replaceAll "/" with File.separator 我希望有人可以帮助我?

1 个答案:

答案 0 :(得分:0)

使用java8,您可以获取该字符串并定义 DateTimeFormatter ,这将使您可以灵活地将字符串解析为LocalDate,而您不需要注意字符串"的外观喜欢",之后您将获得一个LocalDate对象,您可以从中获取年,月和日

String geburtstag = "-";
DateTimeFormatter formatter = DateTimeFormatter
            .ofPattern("[ddMMyyyy]" + "[ddMMyyyy]" + "[dd.MM.yyyy]" + "[dd-MM-yyyy]");
// case1
geburtstag = "23.06.2017";
LocalDate ldt = LocalDate.parse(geburtstag, formatter);
System.out.println("Year: " + ldt.getYear());
System.out.println("Month: " + ldt.getMonthValue());
System.out.println("Day: " + ldt.getDayOfMonth());
// case2
geburtstag = "23062017";
ldt = LocalDate.parse(geburtstag, formatter);
System.out.println("Year: " + ldt.getYear());
System.out.println("Month: " + ldt.getMonthValue());
System.out.println("Day: " + ldt.getDayOfMonth());
// case3
geburtstag = "23-06-2017";
ldt = LocalDate.parse(geburtstag, formatter);
System.out.println("Year: " + ldt.getYear());
System.out.println("Month: " + ldt.getMonthValue());
System.out.println("Day: " + ldt.getDayOfMonth());
相关问题