如果为零,Java子字符串将丢弃第一个字符

tac*_*ime 0 java

我在Java中使用substring函数,我发现如果子字符串中的第一个字符为零,则从新字符串中删除它.有办法防止这种情况吗?

以下是我遇到问题的代码:

ccode = actnum.substring(1,2);
Run Code Online (Sandbox Code Playgroud)

ccode和actnum都被定义为字符串.如果需要更多代码,请告知.

eri*_*son 14

这些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 */
Run Code Online (Sandbox Code Playgroud)

请记住,Java的字符串索引是从零开始的.第一个字符在索引0处,下一个在索引1处.此外,该substring方法采用两个字符索引; 第一个包含在新子字符串中,第二个不是 -it是新子字符串中最后一个字符后面的字符的索引.所以,新子串的长度是end - start.