如何查找字符串中最后一次出现指定字符的前一次出现位置
解决方法:找到倒数第二个
+的索引 嘿,我来帮你搞定这个问题!你需要的beginning index其实就是倒数第二个+符号在字符串中的位置,可以通过lastIndexOf()的第二个参数轻松实现。
具体步骤:
- 第一步:先获取最后一个
+的索引,用str.lastIndexOf("+")就能拿到字符串中最后出现的+的位置。 - 第二步:从最后一个
+的前一位开始往前搜索,给lastIndexOf()传入第二个参数(搜索的结束位置),就能定位到倒数第二个+的位置——这就是你要的beginning index。
完整代码示例:
const str = "13 + 12 + 25 + 55 + 65"; // 拿到最后一个+的索引 const lastPlusPos = str.lastIndexOf("+"); // 拿到倒数第二个+的索引(你的beginning index) const secondLastPlusPos = str.lastIndexOf("+", lastPlusPos - 1); // 执行截取并处理边界情况 if (secondLastPlusPos !== -1) { const subString = str.substring(secondLastPlusPos, lastPlusPos - 1); console.log(subString); // 输出:" 55 "(对应倒数第二个+和最后一个+之间的内容) } else { console.log("字符串中没有足够的+符号哦!"); }
边界情况说明:
- 如果字符串里只有1个
+,secondLastPlusPos会返回-1,需要做异常处理(比如上面的判断)。 - 如果字符串里没有
+,lastPlusPos也会是-1,同样需要针对性处理。
内容的提问来源于stack exchange,提问作者Gamer89
相关产品推荐
相关产品推荐

