获取字符串中“ EMPTY SPACE”的长度

时间:2019-05-10 16:28:42

标签: java string

我必须读取结构不正确的平面文件,并且需要按一行中缩进的大小来读取它。

  Element TestData*
     Content Particle Particle_3*
        Element TestData1*
           Content Particle Particle_62* 

以上是我的平面文件结构。我需要阅读文本前的空白前导空格。

预期结果为:
第一行空白空间的长度= 2
第二行空白空间的长度= 5
第三行空白空间的长度= 8
第4行空白空间的长度= 11

任何帮助都会很棒... !!! 谢谢。

1 个答案:

答案 0 :(得分:1)

类似的事情可能会起作用:

import java.io.BufferedReader;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;

public class Main {

  public static void main(String[] args){

    try (BufferedReader reader = Files.newBufferedReader(Paths.get("./testfile.txt"), StandardCharsets.UTF_8)){

      int lineNr = 0;
      String line;

      while((line = reader.readLine()) != null){
        lineNr++;
        int spaces = 0;
        for (int i=0;i<line.length();i++){
          if (line.charAt(i) == ' '){
            spaces++;
          }
          else{
            break;
          }
        }

        System.out.println("line "+lineNr+" has "+spaces+" leading spaces:"+line);
      }

    } catch (IOException e) {
      e.printStackTrace();
    }
  }

}

输出:

line 1 has 2 leading spaces:  Element TestData*
line 2 has 5 leading spaces:     Content Particle Particle_3*
line 3 has 8 leading spaces:        Element TestData1*
line 4 has 11 leading spaces:           Content Particle Particle_62*
相关问题