如何从末尾查找字符索引?附示例说明
如何从字符串末尾查找指定字符的索引?
刚好碰到过类似的需求,其实大部分编程语言都提供了现成的内置方法,能高效地从字符串末尾反向查找指定字符的正向索引,完全不用自己手动造轮子~
核心思路
我们需要的是从字符串末尾开始,找到第一个匹配目标字符的位置,并返回它在原字符串中的正向索引(比如你举的例子"John(Jk)",目标字符'('的正向索引就是4)。
常见编程语言的实现示例
Python
Python里可以直接用字符串的rfind()方法,它会返回目标字符最后一次出现的索引,找不到则返回-1:
s = "John(Jk)" target_char = '(' result_index = s.rfind(target_char) print(result_index) # 输出:4
JavaScript
JavaScript对应的方法是lastIndexOf(),作用完全一致:
const s = "John(Jk)"; const targetChar = '('; const resultIndex = s.lastIndexOf(targetChar); console.log(resultIndex); // 输出:4
Java
Java的String类也有lastIndexOf()方法:
String s = "John(Jk)"; char targetChar = '('; int resultIndex = s.lastIndexOf(targetChar); System.out.println(resultIndex); // 输出:4
手动实现的思路(如果需要自定义逻辑)
如果因为某些原因不能用内置方法,也可以自己倒序遍历字符串:
s = "John(Jk)" target_char = '(' result_index = -1 # 从最后一个索引开始倒序遍历 for i in range(len(s)-1, -1, -1): if s[i] == target_char: result_index = i break print(result_index) # 输出:4
不过这种方法效率不如内置方法,毕竟语言内置的方法都是经过底层优化的,优先推荐用内置方法。
内容的提问来源于stack exchange,提问作者Aravindhan R
相关产品推荐
相关产品推荐

