我使用了两个不同的字符串来测试“\t”的最后一个索引,但它们都返回 4。我认为它应该是 5 和 4。我检查了 oracle 文档,但我不明白为什么。有人可以告诉我为什么吗?谢谢!
System.out.println("abc\t\tsubdir".lastIndexOf("\t"));
System.out.println("abct\tsubdir".lastIndexOf("\t"));
最佳答案
让我们通过索引的数量来更好地理解它:
字符串 1
a b c \t \t s u b d i r
0 1 2 3 4 5 6 7 8 9 10
^-----------------------------------last index of \t (for that you get 4)
字符串 2
a b c t \t s u b d i r
0 1 2 3 4 5 6 7 8 9 10
^-----------------------------------last index of \t (for that you get 4)
有一些特殊字符应该由
\
转义(tab \t
,breadline \n
,quote \"
...)在 Java 中,所以它算作一个字符而不是 2关于Java - String.lastIndexOf(str) 逻辑我无法理解,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51993409/