我有一个字符串,例如"dd month yyyy",我想将其拆分并转换为数组 ["dd", " ", "month", " ", "yyyy"]。
目前我已经有了一种方法,可以实现这个目的。但是我正在寻找使用正则表达式来实现的方法,如果有人能帮忙吗?
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;
}
([\/\\ -.,\'":])
也成为最终数组中的一个元素。在这种情况下,空格" "
也要包括在内。 - Reddy