【问题标题】:how can I find a substring searching from left of a specified location如何找到从指定位置左侧搜索的子字符串
【发布时间】:2014-03-08 08:26:40
【问题描述】:

假设我有这样的文字

@hello @world @guy

我想根据我指定的位置获取@的左第一个出现的位置。

如果我指定位置为13,我应该得到第二个@在这个字符串中的位置,如果我指定18,我应该得到第三个@的位置。

【问题讨论】:

  • 你不能用谷歌搜索吗?
  • 你不能循环遍历字符串并返回索引吗?您也可以反转字符串并使用indexOf

标签: javascript html


【解决方案1】:

看来你需要lastIndexOf

str.lastIndexOf(searchValue[, fromIndex])

lastIndexOf() 方法返回调用字符串中的索引 指定值最后一次出现的对象,如果不是,则为 -1 成立。从fromIndex开始向后搜索调用字符串。

【讨论】:

  • indexOf 总是在指定位置之后搜索字符串,我想搜索指定位置之前的第一个出现
  • @KesongTse 我明白了。 lastIndexOf呢?
  • lastIndexOf 只是为了查找字符串在指定位置之后的最后一次出现,例如,如果我指定位置为1,那么它会找到第三个'@'
  • @KesongTse 对我来说,它似乎完全符合您的需求:jsfiddle.net/uL49R
  • 可能是我在最后一条评论中的示例让您感到困惑,假设我将位置指定为大于第二个@且小于第三个@的某个值,我想获得第二个,我想知道我是否可以将位置指定为负数之类的,但它似乎不起作用
猜你喜欢
  • 2017-07-15
  • 2011-01-02
  • 2017-10-02
  • 2022-10-30
  • 1970-01-01
  • 1970-01-01
  • 2012-03-21
  • 1970-01-01
  • 2020-07-29
相关资源
最近更新 更多