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

时间:2014-04-04 01:49:12

标签: java regex string substring string-split

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

示例:`FirstNameLastName yy-mm-dd549Eastwolframstreet

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

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

如果名称小于9个字符,则空格占据剩余位置。 即姓氏长度为9,但只剩下8个字母,其中一个是空格。

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

2 个答案:

答案 0 :(得分:1)

知道每个部分都是一个确切的长度 - 如果它恰好少了,它被空格填充 - 这是使用String.substring(i,i)String.trim()的完美情况。

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

答案 1 :(得分:1)

试试这个,

    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;
    }