如何获取字符串中的转义字符索引?

时间:2017-11-13 11:44:30

标签: java

如何获取字符串中的转义字符索引?

String test="1234\567890";
System.out.println("Result : "+test.lastIndexOf("\\"));
  

我得到的结果:   -1

     

我需要的结果:4

2 个答案:

答案 0 :(得分:3)

您的原始字符串不包含\。这意味着您正在搜索不存在的内容。为了将\添加到您的字符串中。添加

时必须逃避
String test="1234\\567890";
System.out.println("Result : "+test.lastIndexOf("\\"));

应该工作。

enter image description here

在您的情况下,请查看table中的最后一行。

答案 1 :(得分:2)

我不认为你可以得到它,因为当你使用转义字符时,java会以特殊的方式解释下面的字符。换句话说,从正在执行的程序的角度来看,在字符串中看到的转义字符和下一个字符实际上是一个实体。

当您搜索" \\"时,您正在搜索文字字符' \'不是逃避角色。

您可以在此处看到差异:java fiddle

虽然\5是代码0x5 (ENQ)的字符,但5是字符0x35See the table