微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将规则转义到现有字符串

如何解决如何将规则转义到现有字符串

所以这可能是一种特定的问题。

我有一个 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,因为 \\ 是获得的规则\)

所以基本上我想在应用所有转义规则后检查字符串的大小。有没有办法做到这一点?

解决方法

当您从文件中读取时,\ 被转义为 \\
因此,如果您的文件包含类似 \\ 的内容,则编码为 \\\\

在一个文件中,\ 的长度是 1,作为一个字符串,它也是 1
当你在文件中加入 \\ 时,Java 中的长度将为 2

或者我误解了你,你希望文件中 \\ 的长度返回 1

那么你可以尝试line.replace("\\\\","\\");手动应用转义规则

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。