Add a space between two words

前端 未结 3 1999
粉色の甜心
粉色の甜心 2021-01-12 23:38

I have some words like \"Light Purple\" and \"Dark Red\" which are stored as \"LightPurple\" and \"DarkRed\". How do I check for the uppercase letters in the word like \"Lig

3条回答
  •  轮回少年
    2021-01-13 00:39

    Okay, sharing my experience. I have this implement in some other languages too it works superb. For you I just created a javascript version with an example so you try this:

    var camelCase = "LightPurple";
    var tmp = camelCase[0];
    for (i = 1; i < camelCase.length; i++)
    {
        var hasNextCap = false;
        var hasPrevCap = false;
    
        var charValue = camelCase.charCodeAt(i);
        if (charValue > 64 && charValue < 91)
        {
            if (camelCase.length > i + 1)
            {
                var next_charValue = camelCase.charCodeAt(i + 1);
                if (next_charValue > 64 && next_charValue < 91)
                    hasNextCap = true;
            }
    
            if (i - 1 > -1)
            {
                var prev_charValue =  camelCase.charCodeAt(i - 1);
                if (prev_charValue > 64 && prev_charValue < 91)
                    hasPrevCap = true;
            }
    
    
            if (i < camelCase.length-1 &&
                (!(hasNextCap && hasPrevCap || hasPrevCap)
                || (hasPrevCap && !hasNextCap)))
                tmp += " ";
        }
        tmp += camelCase[i];
    }
    

    Here is the demo.

提交回复
热议问题