我只有一个字符串
var string = "T-shirt SKU-TST071815-BLACKTHAMB (Code: 111R)"
我想遵守我们的惯例
var output = "TST071815-BLACKTHAMB"
“ T恤SKU-TST071815-BLACKTHAMB(代码:111R)”每次都是由数据库生成的,并且每次都会更改,但是格式保持不变。 所以我想在“ SKU-”和“((Code)”之间提取一个字符串
我尝试了wirth replace函数,但是结果却不尽如人意。.plz帮助
答案 0 :(得分:1)
您可以使用正则表达式从字符串中检索SKU-
,直到下一个单词边界,如下所示:
var string = "T-shirt SKU-TST071815-BLACKTHAMB (Code: 111R)"
var re = /SKU-[\w-]+/gi;
var sku = re.exec(string);
console.log(sku);
答案 1 :(得分:0)
您只需对子字符串进行查找,即可找到指定的左右定界符的索引。第一个定界符在定界符的长度(本例中为4)上移动。
var string = "T-shirt SKU-TST071815-BLACKTHAMB (Code: 111R)";
console.log(
string.substring(string.indexOf('SKU-') + 4, string.indexOf(' (Code'))
);
答案 2 :(得分:0)
首先在SKU-
开始使用look-ahead assertion的位置进行拆分,然后获取下半部分,然后根据空间拆分并获取第一个元素。
var string = "T-shirt SKU-TST071815-BLACKTHAMB (Code: 111R)"
var sku = string
// split at position where SKU-1 starts
.split(/(?=SKU-)/)
// get last string(Second half)
.pop()
// split based on space and get first element
.split(' ')[0];
console.log(sku);