如何获取字符串中的转义字符索引?
String test="1234\567890";
System.out.println("Result : "+test.lastIndexOf("\\"));
我得到的结果: -1
我需要的结果:4
答案 0 :(得分:3)
您的原始字符串不包含\
。这意味着您正在搜索不存在的内容。为了将\
添加到您的字符串中。添加
String test="1234\\567890";
System.out.println("Result : "+test.lastIndexOf("\\"));
应该工作。
在您的情况下,请查看table中的最后一行。
答案 1 :(得分:2)
我不认为你可以得到它,因为当你使用转义字符时,java会以特殊的方式解释下面的字符。换句话说,从正在执行的程序的角度来看,在字符串中看到的转义字符和下一个字符实际上是一个实体。
当您搜索" \\
"时,您正在搜索文字字符' \
'不是逃避角色。
您可以在此处看到差异:java fiddle
虽然\5
是代码0x5 (ENQ)
的字符,但5
是字符0x35
。 See the table