Javascript 如何从指定位置的左侧搜索子字符串

Javascript 如何从指定位置的左侧搜索子字符串,javascript,html,Javascript,Html,假设我有一个文本,比如 @你好@world@guy 我想根据我指定的位置获取左第一次出现的@的位置 如果我指定位置为13,我应该得到这个字符串中第二个@的位置,如果我指定18,我应该得到第三个@的位置,看起来你需要这样做 str.lastIndexOf(searchValue[, fromIndex]) 方法返回调用字符串中的索引 指定值最后一次出现的对象,如果不是,则为-1 建立调用字符串从fromIndex开始向后搜索 你就不能用谷歌搜索它吗?你就不能循环遍历字符串并返回索引吗?您还可以反

假设我有一个文本,比如

@你好@world@guy

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

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

的位置,看起来你需要这样做

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


你就不能用谷歌搜索它吗?你就不能循环遍历字符串并返回索引吗?您还可以反转字符串并使用
indexOf
。indexOf始终在指定位置之后搜索字符串,我希望搜索指定位置之前的第一个出现position@KesongTse我理解。关于
lastIndexOf
?lastIndexOf只是为了找到指定位置后最后出现的字符串,例如,如果我将位置指定为1,那么它将找到第三个'@'@kesongse;'@'@kesongse;'对我来说,它似乎正是你所需要的:可能是我在最后一条注释中的示例让你困惑,假设我指定的位置是大于第二个@小于第三个@的某个值,我想得到第二个的位置,我想知道是否可以指定位置为负数或其他什么,但它似乎不起作用