我正面临一个读取文件的奇怪文件。问题是当我读取文件时,它会在一行中显示所有数据。为了治愈这个,我在读取文件时添加了line.separators。它工作正常。请参见以下代码
line = br.readLine();
while (line != null) {
String[] parts = line.split(" ");
word_count += parts.length;
line_count++;
fileRead+=line;
fileRead+=System.getProperty("line.separator","\n");
line = br.readLine();
}
现在,问题出现了,当我从fileRead String中读取数据并计算每个单词的长度时,它就不会给我一些字符串的正确长度/大小,如
假设文件包含
你好,今天是星期天
由于
它给了我正确的hello(5)今天(5)是(2)星期日(13)。它附加星期日字符串,如Sunday / n / rThanks。我不知道要获得两个字符串的长度
获取长度的代码
public void stringLenth(String[] parts) {
for(int i=0;i<parts.length;i++){
System.out.println("hello"+parts[i]+"lenth"+parts[i].trim().length());
parts[i] = parts[i].replaceAll("\\r|\\n", "");
if(parts[i].length() < minWordCount ){
minWordCount = parts[i].trim().length();
}
}
}
有什么想法吗?
答案 0 :(得分:0)
使用\\s
代替单个空白字符来分割您的行。
尝试使用带有Matcher
的正则表达式并使用\\w
作为正则表达式来查找所有单词,而不是拆分。