我有一个字符串,说“dd month yyyy”,我想拆分以转换为数组,例如[“dd”,“”,“month”,“”,“yyyy”]。
到目前为止,我已经掌握了这种方法。但是我正在寻找Reg表达可以帮助别人吗?
function toArray(format) {
var vDateStr = '';
var vComponantStr = '';
var vCurrChar = '';
var vSeparators = new RegExp('[\/\\ -.,\'":]');
var vDateFormatArray = new Array();
for (var i=0; i < pFormatStr.length; i++ )
{
vCurrChar = pFormatStr.charAt(i);
if ( (vCurrChar.match(vSeparators) ) || (i + 1 == pFormatStr.length) ) // separator or end of string
{
if ( (i + 1 == pFormatStr.length) && ( !(vCurrChar.match(vSeparators) ) ) ) // at end of string add any non-separator chars to the current component
{
vComponantStr += vCurrChar;
}
vDateFormatArray.push( vComponantStr );
if ( vCurrChar.match(vSeparators) ) vDateFormatArray.push( vCurrChar );
vComponantStr = '';
}
else
{
vComponantStr += vCurrChar;
}
}
return vDateFormatArray;
}
最佳答案
简单的:
> "10 Jan 2015".split(/\b/g)
< ["10", " ", "Jan", " ", "2015"]
这将在单词边界上分割。
关于javascript - 正则表达式拆分字符串但捕获分隔符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29974583/