Android parse String ArrayIndexOutOfBoundsException - PullRequest
       12

Android parse String ArrayIndexOutOfBoundsException

1 голос
/ 13 сентября 2011

Я пытаюсь проанализировать строку, чтобы получить 3 целых числа, но у меня есть Force Close и LogCat говорит: ArrayIndexOutOfBoundExceptions .

Вот соответствующая часть моего кода:

    dateModif = tvDateAffichee.getText().toString();

    String[] separatedDate = dateModif.split(".");

    mDay = Integer.parseInt(separatedDate[0]);
    mMonth = Integer.parseInt(separatedDate[1]);
    mYear = Integer.parseInt(separatedDate[2]);

Я проверил значение строки с помощью тоста, и она содержит такие значения, как, например: 13.9.2011

Ошибка исходит из этой строки:

    mDay = Integer.parseInt(separatedDate[0]);

(Если я добавлю его в качестве комментария, он выдаст ту же ошибку из следующей строки)

Спасибо за вашу помощь!

Ответы [ 2 ]

3 голосов
/ 13 сентября 2011

String.split() принимает регулярное выражение, в этом случае . означает «любой символ».Вы захотите избежать этого так: \..А поскольку вы задаете регулярное выражение как литерал String, вам необходимо удвоить обратную косую черту: dateModif.split("\\.").

Но для этого было бы лучше использовать методы парсинга в реальном времени.

0 голосов
/ 13 сентября 2011
String dateModif = tvDateAffichee.getText().toString();

String []separatedDate=dateModif.split("[.]");

    mDay = Integer.parseInt(separatedDate[0]);
    mMonth = Integer.parseInt(separatedDate[1]);
    mYear = Integer.parseInt(separatedDate[2]);

проверить это

...