java - .substring 和空格,Java

标签 java string substring

我在使用 Java 中的 .substring 方法时遇到了一个我不明白的错误。如果我有一个代表预测的字符串:

String forecast = "Sat, 7 Feb - Snow - -8/-13"

我可以通过调用来隔离温度数据

int lastWhitespaceIndex = forecast.lastIndexOf(" ");
int highs = Integer.parseInt(forecast.substring(lastWhitespaceIndex + 1));

但是,如果我将第二行更改为

int highs = Integer.parseInt(forecast.substring(lastWhitespaceIndex));

我的程序崩溃了。是否有一些我不知道的不允许字符串以空格开头的规则?

最佳答案

Integer.parseInt() 的文档明确指出:

The characters in the string must all be decimal digits, except that the first character may be an ASCII minus sign '-' ('\u002D') to indicate a negative value or an ASCII plus sign '+' ('\u002B') to indicate a positive value.

所以,开始时没有空格。

关于java - .substring 和空格,Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28359816/

相关文章:

Java HTML Builder(反模板)库?

java awt事件队列/调度线程未知源错误?

java - DataInputStream readByte 返回一个大值

batch-file - 从变量中获取字符串的最后一个字符

c - 在 C 中执行子字符串

c - C中如何根据索引获取子字符串

java - 如何对 docx 文件进行碎片整理以便与 Apache POI 3.8 一起使用?

c# - 用单个值替换所有出现的字符串(在数组中)

c# - 对一个字符串(不是文件)进行解密/加密是一种最简单的方法,两种方法都可行,怎么样?

c++ - 为什么要在 C++ 中使用 std::string 而不是 c 风格的字符串?