我有一个字符串,说“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/

10-10 15:55