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
是带有code0x5(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的特殊含义。我的答案中的这一部分是不正确的,因此我将对其进行更改,但其余部分仍然有效。