java—如何将转义规则应用于现有字符串

83qze16e  于 2021-06-26  发布在  Java
关注(0)|答案(1)|浏览(278)

所以这可能是一个特殊的问题。
我有一个txt文件,我逐行读取并存储在arraylist中。
以下是从txt复制的一些行:
https://pastebin.com/tnqvpvyn
我是这样读台词的:

public static List<String> readFile(String path) {
        BufferedReader br;

        List<String> rows = new ArrayList<>();

        try {
            br = new BufferedReader(new FileReader(path));

            String line = br.readLine();

            while (line != null) {
                rows.add(line);

                line = br.readLine();
            }

            br.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        return rows;
    }

当我使用string.length()检查这些字符串的长度时,我得到的总大小没有转义“\”之类的部分(由于\是获取\的规则,因此应该将大小计为1而不是2)
所以基本上我想在所有转义规则都被应用之后检查字符串的大小。有什么办法吗?

ss2ws0br

ss2ws0br1#

当你从文件中读取 \ 逃逸为 \\ 所以如果你的文件包含 \\ 它被编码为 \\\\ 在一个长度为 \ 是1,作为字符串也将是1
当你有 \\ 在一个文件中,java的长度是2
还是我误解了你的意思,你想知道 \\ 从文件返回1
那你可以试试 line.replace("\\\\", "\\"); 手动应用转义规则

相关问题