在IE和Firefox中都能工作的最干净的方法是什么?
我的字符串看起来像这个sometext-20202
现在sometext和破折号后面的整数可以有不同的长度。
我应该使用子字符串和索引还是有其他方法?
在IE和Firefox中都能工作的最干净的方法是什么?
我的字符串看起来像这个sometext-20202
现在sometext和破折号后面的整数可以有不同的长度。
我应该使用子字符串和索引还是有其他方法?
当前回答
使用任何分隔符并获得第一部分或第二部分
//To divide string using deimeter - here @
//str: full string that is to be splitted
//delimeter: like '-'
//part number: 0 - for string befor delimiter , 1 - string after delimiter
getPartString(str, delimter, partNumber) {
return str.split(delimter)[partNumber];
}
其他回答
高效,紧凑,适用于一般情况:
s='sometext-20202'
s.slice(s.lastIndexOf('-')+1)
使用任何分隔符并获得第一部分或第二部分
//To divide string using deimeter - here @
//str: full string that is to be splitted
//delimeter: like '-'
//part number: 0 - for string befor delimiter , 1 - string after delimiter
getPartString(str, delimter, partNumber) {
return str.split(delimter)[partNumber];
}
AFAIK, Mozilla和IE都支持substring()和indexOf()。但是,请注意,某些浏览器的早期版本(特别是Netscape/Opera)可能不支持substr()。
你的文章表明你已经知道如何使用substring()和indexOf(),所以我不发布一个代码示例。
使用格式为\w-\d+的正则表达式,其中\w代表单词,\d代表数字。开箱即用是行不通的,所以可以试一试。试试这个。
我更喜欢的解决方案是:
const str = 'sometext-20202';
const slug = str.split('-').pop();
你的结果是什么