我正在Java中使用子字符串函数,我发现如果子字符串中的第一个字符是零,它将从新字符串中删除。有办法防止这种情况吗?
这是我遇到问题的代码:
ccode = actnum.substring(1,2);
ccode 和 actnum 都定义为字符串。如果需要更多代码,请告知。
最佳答案
String.substring()
方法不会检查子字符串的内容,因此您所描述的可能是代码中的错误。如果您需要一些故障排除帮助,您可以发布重现问题所需的最少量代码。
鉴于更新和评论中给出的代码和信息,这就是我所期望的:
String actnum = "03KL352"; /* Maybe actnum is actually entered via a JSP. */
System.out.println(actnum); /* Prints 03KL352 */
String ccode = actnum.substring(1,2); /* Assign characters [1,2) to ccode. */
System.out.println(ccode); /* Prints 3 */
请记住,Java 的字符串索引是从零开始的。第一个字符位于索引 0 处,下一个字符位于索引 1 处。此外,substring
方法采用两个字符索引;第一个包含在新子字符串中,第二个不——它是新子字符串中最后一个字符之后的字符的索引。因此,新子字符串的长度为 end - start
。
关于Java 子字符串如果为零则删除第一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1792639/