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

Java 如何获取字符串中转义字符的索引?,java,Java,如何获取字符串中转义字符的索引 String test="1234\567890"; System.out.println("Result : "+test.lastIndexOf("\\")); 结果我得到: -一, 结果我需要:4 我不认为你能理解这一点,因为当你使用转义字符时,java用一种特殊的方式来解释下面的字符。换句话说,从正在执行的程序的角度来看,字符串中的转义字符和下一个字符实际上是一个实体 搜索“\”时,搜索的是文字字符“\”,而不是转义字符 在这里,您可以看到不同之处: \

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

String test="1234\567890";
System.out.println("Result : "+test.lastIndexOf("\\"));
结果我得到: -一,

结果我需要:4


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

搜索“
\
”时,搜索的是文字字符“
\
”,而不是转义字符

在这里,您可以看到不同之处:


\5
是带有code
0x5(ENQ)
的字符,
5
是字符
0x35

原始字符串不包含
\
。这意味着你正在搜索一些不存在的东西。为了将
\
添加到字符串中。添加时您必须逃逸

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


在您的情况下,请查看。

中的最后一行,反斜杠不在字符串中。如果要在字符串中添加反斜杠,则需要在字符串文字中添加\\。如果我打印它,它将按如下方式打印1234.7890字符串文字指定
\56
,即
字符。它不包含
\
字符。您可以搜索
字符。因此答案将是
test.lastIndexOf(“\56”)
(或
),这对.System.out.println(“1234\567890”)没有帮助;得到的结果为1234.7890。正确,斜线表示5的特殊含义。我的答案中的这一部分是不正确的,因此我将对其进行更改,但其余部分仍然有效。