java 带点的字符串处理,关于android:java中字符串上带点的分割函数

我试图用点将字符串拆分,但我无法得到答案

String dob ="05.08.2010";

String arr[] = dob.split(".");

System.out.println(arr[0]+":"+arr[1]+":"+arr[2]);

拆分日期/时间字符串的可能重复项

尝试这个

String arr[] = dob.split("\\.");

即,您需要使用双斜杠来使点转义,因为点将匹配正则表达式中的任何字符。还要注意,双反斜杠用于在正则表达式中创建单个反斜杠。

String.split采用正则表达式模式。 .与正则表达式中的任何字符匹配。因此,您基本上是在说"拆分此字符串,以任何字符作为分隔符"。你要:

String arr[] = dob.split("\\.");

...实际上是\.的正则表达式模式,其中反斜杠将点转义。就Java编译器而言,需要在字符串文字中将反斜杠加倍以避开反斜杠。

或者,您可以使用

String arr[] = dob.split(Pattern.quote("."));

...或者更好地使用日期解析/格式化代码(例如SimpleDateFormat或DateTimeFormatter)来解析和格式化日期。毕竟,这就是它的作用-最好早发现而不是晚发现数据问题(例如" 99.99.9999")。

如果您只想打印出来,也可以尝试

System.out.println(Arrays.toString(dob.split("\\.")));

System.out.println(dob.replace(".",":"));

在split函数中,请勿使用.,因为它是正则表达式的特殊字符,需要转义:\\.

您也可以使用

SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");

String dateInString ="05.08.2010";

Date date = sdf.parse(dateInString);

编辑

现在您可以使用来访问日/月/年(请参阅此线程)

Calendar cal = Calendar.getInstance();

cal.setTime(date);

int year = cal.get(Calendar.YEAR);

int month = cal.get(Calendar.MONTH);

int day = cal.get(Calendar.DAY_OF_MONTH);

我问如何分割日期,以便可以分别使用dd MM yyyy

您可以使用date对象分别获取日/月/年(java日期文档)。 例如,您可以执行date.getMonth()。

您绝对不应该使用date.getMonth()等。不推荐使用这些方法已经有20年了,这是有充分的理由的。

我没看见它。 但是您仍然可以从日期对象获取日/月/年(请参阅编辑)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值