仅将文本拆分5次

时间:2013-10-10 10:23:08

标签: java

我想拆分字符串...我想要吐出前5次然后...休息1字符串

我试过这个

public class FileRead

{  

  public static void main(String[] args) throws IOException  
    {  

    StringBuffer strBuff = new StringBuffer();  
    String str = null;  

    File file = new File("D:\\wokies\\5_dataset.txt");  
    try {  
    Scanner scanner = new Scanner(file);  
    while (scanner.hasNextLine()) {  
    String line = scanner.nextLine();  
    System.out.println(line);

     String [] splitSt =line.split(" ");


        System.out.println("split happing");
        for (int i = 0 ; i < splitSt.length ; i++) 
        {
            System.out.println(splitSt[i]); 
        }


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

4 个答案:

答案 0 :(得分:2)

我不会为您编写代码,但解决方案非常简单,一种解决方案是使用计数器,将其初始化为0,在每次迭代时递增。当它为5时,不要拆分 1


1 我假设您希望每次都在输入而不是同一个输入上进行分割。

答案 1 :(得分:2)

java.lang.String.split(String regex, int limit)接受限制:您希望多久拆分一次输入?

  

如果限制n大于零,那么模式将最多应用n - 1次,数组的长度将不大于n,并且数组的最后一个条目将包含除最后一个匹配分隔符之外的所有输入。 / p>

所以

line.split(" ", 5);

可以解决您的问题。

答案 2 :(得分:1)

您可以使用限制为split(regex, limit)的拆分。尝试split(" ", 5),这将创建包含最多5个元素的数组,最后一个元素不会像"a b c d".split(" ", 3)那样创建["a", "b", "c d"]

答案 3 :(得分:0)

split String方法可以采用第二个参数“limit”,“控制模式的应用次数,从而影响结果数组的长度”。

只需致电line.split(" ", 5);