我有一个看起来精简的字符串: str =“aaaa-050-xxx-zzz”
我需要在第二个' - '后剪掉我的字符串 所以在这个例子中,我想获得“aaaa-050”
每个' - '之前和之后的字符数不是恒定的。
然后我需要删除新字符串中的' - '以获取“aaaa050”
最好的方法是什么?
答案 0 :(得分:1)
你有几个选择。除了遍历字符串寻找第二个-
之外,还有正则表达式和String#split
解决方案:
使用正则表达式,您可以找到前面两个没有-
的段,用-
分隔,然后用它们来构成替换:
var str = "aaaa-050-xxx-zzz";
str = str.replace(/^([^-]*)-([^-]*)-.*$/, '$1$2');
console.log(str);
或者有一个split
解决方案,您可以在-
上拆分,然后加入第一个和第二个细分:
var str = "aaaa-050-xxx-zzz";
var parts = str.split("-");
str = parts[0] + parts[1];
console.log(str);
答案 1 :(得分:1)
如果此结构是您的模式,您可以按-
拆分并加入部分:
var str = "aaaa-050-xxx-zzz";
var splited = str.split("-");
var res = splited[0] + "-" + splited[1];
console.log(res);