如何转义 Java 中的转义字符
how to escape escape characters in Java
我有一个大文件,其中包含我需要查找的 \'。我尝试了以下变体,但没有用:
do{
line = TextFileIO.readLine(bufferedReader);
if(line != null){
TextFileIO.writeLine(bufferedWriter,line);
for (int i = 0; i < line.length() - 1; i++){
if(line.substring(i,i+1).equals("\\'"))System.out.println("we found it " + line);
}
}
}while (line != null);
无需转义单引号!
单引号不需要转义,因为所有 Java 字符串都由双引号分隔。单引号分隔 字符 文字。因此,在字符文字中,您需要转义单引号,例如'\''
.
所以你只需要"\'"
,只转义反斜杠。
substring(i,i+1)
无法生成两个字符的字符串。如果你想获得 2 个字符的字符串,你需要调用 (i,i+2)
.
此外,您的 for 循环可以替换为对 contains
的调用。
if(line.contains("\'"))System.out.println("we found it " + line);
要表示后跟撇号的单个反斜杠,您可以使用
"\'"
但是substring(i,i+1)
不可能等于一个双字符的字符串。
也许你的意思是
if (line.substring(i, i+2).equals("\'")) ...
line.substring(i,i+1)
只包含一个字符,for loop
可以替换为line.indexOf("\'") >= 0
:
if (line.indexOf() >= 0) {
System.out.println("we found it " + line);
}
\
是 Java 中的转义 \
,所以我认为你的匹配字符串应该是 "\"
.
P.s。我不太确定你在这里想要实现什么,但似乎有比你在这里拥有的更优雅、更多 "java-like" 的方法...
我有一个大文件,其中包含我需要查找的 \'。我尝试了以下变体,但没有用:
do{
line = TextFileIO.readLine(bufferedReader);
if(line != null){
TextFileIO.writeLine(bufferedWriter,line);
for (int i = 0; i < line.length() - 1; i++){
if(line.substring(i,i+1).equals("\\'"))System.out.println("we found it " + line);
}
}
}while (line != null);
无需转义单引号!
单引号不需要转义,因为所有 Java 字符串都由双引号分隔。单引号分隔 字符 文字。因此,在字符文字中,您需要转义单引号,例如'\''
.
所以你只需要"\'"
,只转义反斜杠。
substring(i,i+1)
无法生成两个字符的字符串。如果你想获得 2 个字符的字符串,你需要调用 (i,i+2)
.
此外,您的 for 循环可以替换为对 contains
的调用。
if(line.contains("\'"))System.out.println("we found it " + line);
要表示后跟撇号的单个反斜杠,您可以使用
"\'"
但是substring(i,i+1)
不可能等于一个双字符的字符串。
也许你的意思是
if (line.substring(i, i+2).equals("\'")) ...
line.substring(i,i+1)
只包含一个字符,for loop
可以替换为line.indexOf("\'") >= 0
:
if (line.indexOf() >= 0) {
System.out.println("we found it " + line);
}
\
是 Java 中的转义 \
,所以我认为你的匹配字符串应该是 "\"
.
P.s。我不太确定你在这里想要实现什么,但似乎有比你在这里拥有的更优雅、更多 "java-like" 的方法...