簡體   English   中英

如何在java中拆分字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM