我有这段代码:
var str = 'country/city/area'
var idx = str.lastIndexOf('country/city')
// idx = 0
并且 idx 始终为0.难道 idx 是12吗?我的目标是使用它substr(),以便从 str 中取出字符串' 。
答案 0 :(得分:0)
如果你想得到最后一个字,你可以搜索最后一个正斜杠并获得它后面的所有内容:
str.substr(str.lastIndexOf('/') + 1)
如果您希望获得“国家/城市/'之后的所有内容但是,例如,你不知道这是否是字符串的第一部分,你可以使用
str.substr(str.indexOf('country/city/') + 13);
你的问题并不是100%明确,但你究竟想要达到的目的是什么。
答案 1 :(得分:0)
var str = 'country/city/area'
var pattern = 'country/city/'
var idx = str.lastIndexOf(pattern) + pattern.length
var substring = str.substring(idx, str.length)
1)定义您要搜索的模式
2)找到模式的开头并添加模式的长度=>现在你已经到了最后
3)将模式后面的部分复制到字符串的末尾
答案 2 :(得分:0)
您将要添加搜索字符串的长度:
var str = 'country/city/area';
var checkStr = 'country/city';
var idx = str.lastIndexOf(checkStr);
var lastCharIndex = idx + checkStr.length;
// idx = 0
// idx = 12
注意 - 它会是12
,而不是13
,因为您的lastIndexOf
参数中没有包含最后的“/”。
答案 3 :(得分:0)
您可以按照以下方式实现目标;
var str = 'country/city/area',
newStr = str.replace("/area","");
console.log(newStr);