[英]how split string in java
我在android中有項目,我需要拆分字符串,實際上這里的日期是我要拆分的字符串:
String datetime = "01/03/2013 09:00";
這就是我稱之為:
int year = splitDateTime(dateTime)[0];
public int[] splitDateTime(String datetime){
String date_time = datetime;
String delimiter = "//:";
String[] sParts;
int[] intParts;
sParts = date_time.split(delimiter);
intParts = new int[sParts.length];
for(int i =0; i < sParts.length ; i++)
intParts[i] = Integer.parseInt(sParts[i]);
return intParts;
}
但它一直給我一個錯誤,所以如果你幫助我,我會很高興。 干杯
我打賭你的意思是:
String datetime = "01/03/2013 09:00";
String[] sParts = datetime.split("[/:\\s+]");
int[] iParts = new int[sParts.length];
for(int i = 0; i < sParts.length; i++)
iParts[i] = Integer.parseInt(sParts[i]);
System.out.println(Arrays.toString(iParts));
OUTPUT:
[1, 3, 2013, 9, 0]
我認為你應該使用日歷
String dateTime = "01/03/2013 09:00";
SimpleDateFormat f = new SimpleDateFormat("dd/MM/yyyy HH:mm");
Date d = f.parse(dateTime);
Calendar c = Calendar.getInstance();
c.setTime(d);
int year = c.get(Calendar.YEAR);
您可以使用正則表達式,使用類似^(\\d+)/(\\d+)/(\\d+) (\\d+):(\\d)
,您可以獲取每個捕獲的組。
我認為基於StringTokenizer的解決方案將是最快的
public static int[] splitDateTime(String dateTime) {
int[] intParts = new int[5];
StringTokenizer t = new StringTokenizer(dateTime, "/ :");
for (int i = 0; t.hasMoreTokens(); i++) {
intParts[i] = Integer.parseInt(t.nextToken());
}
return intParts;
}
public static void main(final String[] args) throws IOException {
System.out.println(Arrays.toString(splitDateTime("01/03/2013 09:00")));
}
產量
[1, 3, 2013, 9, 0]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.