获取 JavaScript 字符串中破折号后的所有内容

IT技术 javascript
2021-02-24 19:15:51

在 IE 和 Firefox 中都可以使用的最干净的方法是什么?

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

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

我应该只使用substring和索引还是有其他方法?

6个回答

我将如何做到这一点:

// function you can use:
function getSecondPart(str) {
    return str.split('-')[1];
}
// use the function:
alert(getSecondPart("sometext-20202"));
值得一提的是,如果字符串为 ,则此功能将不起作用sometext-20202-303吗?
2021-04-24 19:15:51
get everything after the dash in a string in javascript在这种情况下,这个问题确实会失败。
2021-05-01 19:15:51
拯救我的简单功能。
2021-05-09 19:15:51
@IstiaqueAhmed 如果问题不是专门针对非常具体的格式,那就是:“我的字符串看起来像这样:sometext-20202”
2021-05-15 19:15:51

我更喜欢的解决方案是:

const str = 'sometext-20202';
const slug = str.split('-').pop();

slug你的结果会在哪里

如果您使用多个分隔符,此解决方案是最好的。
2021-05-12 19:15:51
var testStr = "sometext-20202"
var splitStr = testStr.substring(testStr.indexOf('-') + 1);
就像,这很简单 <3
2021-05-03 19:15:51
我觉得这对于我想要完成的事情来说非常简单明了。谢谢你。
2021-05-04 19:15:51
var the_string = "sometext-20202";
var parts = the_string.split('-', 2);

// After calling split(), 'parts' is an array with two elements:
// parts[0] is 'sometext'
// parts[1] is '20202'

var the_text = parts[0];
var the_num  = parts[1];

AFAIK,Mozilla 和 IE 都支持substring()indexOf()支持。但是,请注意,某些浏览器(尤其是 Netscape/Opera)的早期版本可能不支持 substr()。

您的帖子表明您已经知道如何使用substring()and做到这一点indexOf(),所以我不会发布代码示例。

这实际上是比拆分更好的解决方案,具体取决于您的应用程序,因为如果您有多个 - 您可能会得到不希望的结果。
2021-05-11 19:15:51
indexOf 在 IE8 及更低版本中不存在,尽管存在 polyfill。
2021-05-13 19:15:51
string.substring( string.indexOf('-') + 1 )
2021-05-15 19:15:51