我正在设置这样的date_string:
gridcell.setTag(theday + "-" + themonth + "-" + theyear + "|" + hijri_day + "-" + hijri_month + " ("+ hijri_monthno +") " + hijri_year);
我正在分裂它:
String date_month_year = (String) view.getTag();
String[] dateAr = date_month_year.split("-|\\||\\(|\\)|\\s+");
这也是分裂hijri月份名称中的空格和破折号,即Rabi al-Thani或Dhul Hijjah:
private String months[] = {"Muharram","Safar","Rabi al-Awwal","Rabi al-Thani","Jumada al-Awwal","Jumada al-Thani","Rajab","Sha\'ban","Ramadhan","Shawwal","Dhul Qa\'dah","Dhul Hijjah"};
如何分割date_string而不是date_string中的字符串值?
答案 0 :(得分:1)
最好的方法是将日期分隔符更改为/(斜杠)或。(点)如果你真的想保持这样,那么比分裂后你可以检查字符串数组上的最后一个字符,如果它是一个字母连接,那两个字符串就是一回......
gridcell.setTag(theday + "." + themonth + "." + theyear + "|" + hijri_day + " " + hijri_month + " ("+ hijri_monthno +") " + hijri_year);
让它成为最简单的方式..
答案 1 :(得分:0)
我尝试逐步拆分您的日期,请检查这是否适合您
List<String> tokens=new ArrayList<String>();
String data="theday-themonth-theyear|hijri_day-Dhul Qa\'dah (hijri_monthno) hijri_year";
String[] tmp = data.split("\\|");
//System.out.println(Arrays.toString(tmp));
for (String s:tmp[0].split("-"))
tokens.add(s);
System.out.println(tokens);// -> [theday, themonth, theyear]
String[] tmp2=tmp[1].split("\\s*\\(|\\)\\s*");
//System.out.println(Arrays.toString(tmp2));
for (String s:tmp2[0].split("-",2))
tokens.add(s);
System.out.println(tokens);// -> [theday, themonth, theyear, hijri_day, Dhul Qa'dah]
tokens.add(tmp2[1]);
tokens.add(tmp2[2]);
System.out.println(tokens);// -> [theday, themonth, theyear, hijri_day, Dhul Qa'dah, hijri_monthno, hijri_year]