Java 在不同的索引位置拆分字符串

Java 在不同的索引位置拆分字符串,java,regex,string,substring,string-split,Java,Regex,String,Substring,String Split,我试图用Java解决这个问题。我有一个很长的信息字符串,我想根据给定字段的长度拆分该字符串 示例:`FirstNameLastName yy-mm-dd549Eastwolframstreet 我有一个字段列表及其长度。有n个字段。 示例字段: 名字长度:9 姓氏长度:9 日期长度:8 地址:30 如果名称少于9个字符,则空格将占据其余位置。 i、 Lastname的长度为9,但只剩下8个字母,一个是空格 从每个给定长度中提取这些字段的最佳方法是什么?知道每个部分都是一个精确的长度——如果恰

我试图用Java解决这个问题。我有一个很长的信息字符串,我想根据给定字段的长度拆分该字符串

示例:`FirstNameLastName yy-mm-dd549Eastwolframstreet

我有一个字段列表及其长度。有n个字段。 示例字段:

  • 名字长度:9
  • 姓氏长度:9
  • 日期长度:8
  • 地址:30

如果名称少于9个字符,则空格将占据其余位置。 i、 Lastname的长度为9,但只剩下8个字母,一个是空格


从每个给定长度中提取这些字段的最佳方法是什么?

知道每个部分都是一个精确的长度——如果恰好长度较短,则由空格填充——这是使用和删除字段的理想情况

例如:
str.substring(0,9)
是前九个字符。现在修剪它,任何额外的焊盘空间都将被消除。

试试这个

    String value = "FirstNameLastName yy-mm-ddAddress                       FirstNameLastName yy-mm-ddAddress                       FirstNameLastName yy-mm-ddAddress                       ";

    for (int i = 0; i < value.length(); i++)
    {
        System.out.println("First Name : "+value.substring(i, i + 9));
        System.out.println("Last Name : "+value.substring((i + 9), i + 18));
        System.out.println("Date : "+value.substring(i + 18, i + 26));
        System.out.println("Address : "+value.substring(i + 26, i + 56));
        i = i + 55;
    }
String value=“FirstNameLastName yy mm ddAddress FirstNameLastName yy mm ddAddress FirstNameLastName yy mm ddAddress”;
对于(int i=0;i
我已编辑了我的问题。每个字段的长度不同。我需要读取字段和字符串以拆分字符串。“如果名称少于9个字符,则空格将占据剩余位置。例如,Lastname长度为9,但只剩下8个字母,其中一个是空格。”名称始终为9个字符。如果更少,那么就用空格填充。这似乎就是你所说的…子字符串绝对是一种选择。试图找到一种更有效的方法来循环字段并将其拆分。根据您的规范,我看不出有什么比这两个函数更有效。