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

How to get substring after last specific character in JavaScript?

本文关键字:字符 之后 字符串 最后一个 JavaScript 获取      更新时间:2023-09-26

我有一个字符串test/category/1 .我必须在test/category/之后获得子字符串.我该怎么做?

您可以将 String.slice 与 String.lastIndexOf:

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

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

var PREFIX = "test/category/";
str.substr(str.lastIndexOf(PREFIX) + PREFIX.length);
您可以使用

以下代码片段来获取它

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

一个更完整的紧凑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"
var str = 'test/category/1';
str.substr(str.length -1);

您可以使用 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/"))

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

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

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