我有一个包含\'的大文件,我需要找到它。我尝试了以下方法的变体,但无法正常工作: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);
3 回答
饮歌长啸
TA贡献1951条经验 获得超3个赞
无需转义单引号!
单引号不需要转义,因为所有Java字符串都由双引号分隔。单引号分隔字符文字。因此,在字符文字中,您需要转义单引号,例如'\''
。
因此,您需要做的是"\\'"
,仅转义反斜杠。
substring(i,i+1)
无法产生两个字符串。如果您尝试获取2个字符的字符串,则需要使用进行调用(i,i+2)
。
另外,您的for循环可以由调用代替contains
。
if(line.contains("\\'"))System.out.println("we found it " + line);
梵蒂冈之花
TA贡献1900条经验 获得超5个赞
要表示单个反斜杠后跟撇号,您可以使用
"\\'"
但是没有办法substring(i,i+1)
可以等于两个字符的字符串。
也许你是说
if (line.substring(i, i+2).equals("\\'")) ...
牧羊人nacy
TA贡献1862条经验 获得超7个赞
\\
是\
Java中的转义字符,因此我认为您的匹配字符串应为"\\"
。
附言:我不确定您要在这里实现什么,但是比您这里拥有的方法似乎更优雅,更“类似于Java”的方式来实现。
添加回答
举报
0/150
提交
取消