所以这可能是一个特殊的问题。
我有一个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条答案
按热度按时间ss2ws0br1#
当你从文件中读取
\
逃逸为\\
所以如果你的文件包含\\
它被编码为\\\\
在一个长度为\
是1,作为字符串也将是1当你有
\\
在一个文件中,java的长度是2还是我误解了你的意思,你想知道
\\
从文件返回1那你可以试试
line.replace("\\\\", "\\");
手动应用转义规则