Немного странное, поскольку я проверил его несколько раз и до сих пор не вижу ничего плохого в том, что делаю.Невозможно заменить пустое пространство в String java
Во всяком случае, у меня есть эта строка с именем score, которая является параметром метода. Входной номер "0 - 2"
, я хотел бы проанализировать эту строку, но прежде чем я должен удалить пробелы. Я пробовал использовать score = score.replaceAll("\\s+", "")
и score = score.replace(" ", "")
, однако пробелы все еще не заменены. Под этой строкой кода я распечатываю счет, и он все еще отображает строку как "0 - 2"
с пробелами, которые не удалены. Любая помощь приветствуется.
Вот код для метода
public static int parseScore(String score, boolean first){
score = score.replaceAll("\\s+",""); // remove white space
System.out.println(score);
String[] tokens = score.split("-");
if(first == true){
return Integer.parseInt(tokens[0]);
}else{
return Integer.parseInt(tokens[1]);
}
}
Ошибка:
Исключение в потоке "основного" java.lang.NumberFormatException: Для входной строки: "0" в java.lang. NumberFormatException.forInputString (Unknown Source) в java.lang.Integer.parseInt (Unknown Source) в java.lang.Integer.parseInt (Unknown Source) в PredictResult2.parseScore (PredictResult2.java:32) в PredictResult2.m айн (PredictResult2.java:102)
EDIT:
Забыл упомянуть, что строка, которую я использую уже была разобрана из загруженного HTML-страницы. Может ли это иметь к этому какое-нибудь отношение? возможно, другое форматирование символов или что-то еще?
активизировали вас через код в ваш отладчик, чтобы увидеть, что происходит в каждой строке? –
System.out.println (оценка) возвращает «0 - 2». И поэтому, когда строка возвращает Integer.parseInt (токены [0]), она возвращает исключение NumberFormatException. Я буду редактировать в фактической ошибке – user3918443