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年了,這是有充分的理由的。
我沒看見它。 但是您仍然可以從日期對象獲取日/月/年(請參閱編輯)
總結
以上是生活随笔為你收集整理的java 带点的字符串处理,关于android:java中字符串上带点的分割函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 进行http请求,PHP模拟ht
- 下一篇: php的验证码要gd库,怎么在PHP中使