删除转义字符

时间:2013-10-27 16:14:35

标签: java

我正面临一个读取文件的奇怪文件。问题是当我读取文件时,它会在一行中显示所有数据。为了治愈这个,我在读取文件时添加了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();
            }
        }
    }

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

使用\\s代替单个空白字符来分割您的行。

尝试使用带有Matcher的正则表达式并使用\\w作为正则表达式来查找所有单词,而不是拆分。