我有一个像这样的字符串。
var a="1:2:3:";
我希望使用a.split(":")
方法将其拆分,以删除“:”冒号字符。
我希望得到以下结果:
["1","2","3"]
但是,
a.split(":")
的执行结果是这样的:["1","2","3",""]
我有一个像这样的字符串。
var a="1:2:3:";
我希望使用a.split(":")
方法将其拆分,以删除“:”冒号字符。
我希望得到以下结果:
["1","2","3"]
a.split(":")
的执行结果是这样的:["1","2","3",""]
使用此 trim 方法来删除尾部的冒号。
function TrimColon(text)
{
return text.toString().replace(/^(.*?):*$/, '$1');
}
那么你可以这样调用它:
TrimColon(a).split(":")
当然,如果你愿意的话,你可以将TrimColon
作为字符串原型方法,并允许你像这样做:
a.TrimColon().split(":");
如果你想要解释所使用的正则表达式:请前往此处
在解析这样的字符串之前,您应该从字符串的开头和结尾删除冒号:
a.replace(/(^:)|(:$)/g, '').split(":")
["1","2","3",""].filter(String)
// ['1', '2', '3']
["1","2","3","", 123].filter(String)
// ['1', '2', '3', 123]
["1","2","3","", 123, null, undefined].filter(String)
// ['1', '2', '3', 123, null, undefined]
// Function
function RemoveEmptyString(arr) {
if (Array.isArray(arr))
return arr.filter(String);
else
return [];
}
RemoveEmptyString(["1","2","3",""])
// ["1","2","3"];
// Prototype
Object.defineProperty(Array.prototype, 'removeEmptyStrings', {
value: function () {
return this.filter(String);
}
});
["1","2","3", ""].removeEmptyStrings()
// ["1","2","3"]
["1","2","3",""].filter(Value => Value)
// ['1', '2', '3']
["1","2","3","", 123].filter(Value => Value)
// ['1', '2', '3', 123]
["1","2","3","", 123, null, undefined].filter(Value => Value)
// ['1', '2', '3', 123]
// Function
function RemoveEmptyString(arr) {
if (Array.isArray(arr))
return arr.filter(Value => Value);
else
return [];
}
RemoveEmptyString(["1","2","3","", 123, null, undefined])
// ["1","2","3", 123]
// Prototype
Object.defineProperty(Array.prototype, 'removeEmptyStrings', {
value: function () {
return this.filter(Value => Value);
}
});
["1","2","3","", 123, null, undefined].removeEmptyStrings()
// ["1","2","3", 123]