jQuery将两个单词之间的长字符串细分为子字符串

时间:2019-03-19 17:32:02

标签: javascript jquery

我只有一个字符串

var string = "T-shirt SKU-TST071815-BLACKTHAMB (Code: 111R)"

我想遵守我们的惯例

var output  = "TST071815-BLACKTHAMB"

T恤SKU-TST071815-BLACKTHAMB(代码:111R)”每次都是由数据库生成的,并且每次都会更改,但是格式保持不变。 所以我想在“ SKU-”和“((Code)”之间提取一个字符串

我尝试了wirth replace函数,但是结果却不尽如人意。.plz帮助

3 个答案:

答案 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);