将具有整数和字符串的文件拆分为仅字符串

时间:2014-03-13 20:09:25

标签: java string delimiter trie

我的文件存储为"整型> \吨(制表符) - >字符串 - >几个空格 - > "

我做错了吗?

我在做什么。

    Trie t = new Trie();
    BufferedReader bReader = new BufferedReader(new FileReader(
            "H:\\100kfound.txt"));

    String line;
    String[] s = null;
    while ((line = bReader.readLine()) != null) {

        s = line.split("\t");

    }
    int i;
    for (i = 0; i < s.length; i++) {
        System.out.println(s[i]);
        if (!(s[i].matches("\\d+"))) {

            t.addWord(s[i]);
            System.out.println(s[i]);
        }
    }

我可以通过调试看到它正常直到while循环但在for循环中它只存储两个字符串并打印相同。

1 个答案:

答案 0 :(得分:1)

您可能希望和^ [0-9] + $表达式,这样您就可以得到完整的整数。没有^和$,你可以匹配其他字符,如tt55gh匹配。

if (!(s[i].matches("^[0-9]+$"))) {
}

根据上面的评论,你需要在while循环中移动for循环。

while ((line = bReader.readLine()) != null) {

    s = line.split("\t");

    for (int i = 0; i < s.length; i++) {
        System.out.println("Value "+i+": "+s[i]);
        if (!(s[i].matches("^[0-9]+$"))) {
            t.addWord(s[i]);
            System.out.println("Integer "+i+": "+s[i]);
        }
    }
}