我的文件存储为"整型> \吨(制表符) - >字符串 - >几个空格 - > "
我做错了吗?
我在做什么。
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循环中它只存储两个字符串并打印相同。
答案 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]);
}
}
}