在IE和Firefox中都能工作的最干净的方法是什么?

我的字符串看起来像这个sometext-20202

现在sometext和破折号后面的整数可以有不同的长度。

我应该使用子字符串和索引还是有其他方法?


当前回答

myString.split('-').splice(1).join('-')

其他回答

对于那些试图在第一次事件发生后就得到所有东西的人:

比如"尼克·K·凯奇"变成"K·凯奇"

你可以使用切片来获取某个角色的所有内容。在本例中,从第一个空格开始:

const delim = " "
const name = "Nic K Cage"

const result = name.split(delim).slice(1).join(delim) // prints: "K Cage"

或者如果OP的字符串有两个连字符:

const text = "sometext-20202-03"
// Option 1
const opt1 = text.slice(text.indexOf('-')).slice(1) // prints: 20202-03
// Option 2
const opt2 = text.split('-').slice(1).join("-")     // prints: 20202-03

高效,紧凑,适用于一般情况:

s='sometext-20202'
s.slice(s.lastIndexOf('-')+1)

你可以使用分裂方法。如果你需要从特定的模式中获取字符串,你可以使用split with req。经验值:

Var string = "sometext-20202"; console.log (string.split (/-(.*)/)[ 1))

myString.split('-').splice(1).join('-')
var testStr = "sometext-20202"
var splitStr = testStr.substring(testStr.indexOf('-') + 1);