String Substring故意删除字符0

时间:2018-06-03 15:33:06

标签: java android string parsing

我目前正致力于String解析功能,突然间我发现了这个问题。例如:

String data = "1234567890JOHN F DOE";

String ID = data.substring(0,9);
String Name = data.substring(10, 19);

我想要ID的预期输出是"1234567890" 我获得的唯一字符仅为"123456789""0"已删除。

我可以使用任何功能代替substring(...)吗?

4 个答案:

答案 0 :(得分:3)

您获得"123456789"因为substring(...)方法中的结束参数不具有包容性,因此为了获得"1234567890",您需要使用data.substring(0,10):)

答案 1 :(得分:3)

docs所述,substring(...)的结束索引是输入的索引减一。你想要做的是:

String data = "1234567890JOHN F DOE";
String ID = data.substring(0,10); 
String Name = data.substring(10, 20);

输出:

ID: 1234567890

Name: JOHN F DOE

答案 2 :(得分:0)

使用子字符串你可以简单地做: str.substring(0,10); 这是另一种方式:

 String pattern="\\d+";
    String text="1234567890JOHN F DOE";
    Pattern p=Pattern.compile(pattern);
    Matcher m=p.matcher(text);
    while (m.find()) {
        System.out.println(text.substring(m.start(), m.end()));
    }

答案 3 :(得分:0)

让我们通过代码了解你需要执行的startIndex和endIndex:

String data = "1234567890JOHN F DOE";
String ID = data.substring(0,10);
String Name = data.substring(10, 20);
    System.out.println("ID:" + ID);
    System.out.println("Name: "+  Name);

<强> 输出:

ID: 1234567890

Name: JOHN F DOE