如何在JavaScript中的最后一个特定字符后获取子字符串?

时间:2016-01-20 12:09:34

标签: javascript

我有一个字符串test/category/1。我必须在test/category/之后获得子串。我怎么能这样做?

8 个答案:

答案 0 :(得分:3)

您可以String.slice使用String.lastIndexOf

var str = 'test/category/1';
str.slice(0, str.lastIndexOf('/') + 1);
// => "test/category/"
str.slice(str.lastIndexOf('/') + 1);
// => 1

答案 1 :(得分:2)

实际代码取决于您是需要完整前缀还是最后一个斜杠。仅限最后一次斜线,请参阅佩德罗的回答。对于完整前缀(和变量PREFIX):

var PREFIX = "test/category/";
str.substr(str.lastIndexOf(PREFIX) + PREFIX.length);

答案 2 :(得分:0)

var str = "test/category/1";
pre=test/category/;
var res = str.substring(pre.length);

答案 3 :(得分:0)

你可以使用indexOf()和slice()



function after(str, substr) {
  return str.slice(str.indexOf(substr) + substr.length, str.length);
}

// Test:

document.write(after("test/category/1", "test/category/"))




答案 4 :(得分:0)

您可以使用以下代码段来获取

var str = 'test/category/1/4'
str.substring(str.lastIndexOf('/')+1)

答案 5 :(得分:0)

您可以使用str.substring(indexStart(,indexEnd)):

var str = 'test/category/1';
var ln=str.length;
alert(str.substring(ln-1,ln));

答案 6 :(得分:0)

var str = 'test/category/1';
str.substr(str.length -1);

答案 7 :(得分:0)

一个更完整的紧凑型 ES6 函数来为您完成工作:

const lastPartAfterSign = (str, separator='/') => {
  let result = str.substring(str.lastIndexOf(separator)+1)
  return result != str ? result : false
}

const input = 'test/category/1'

console.log(lastPartAfterSign(input))
//outputs "1"