Convert string to sentence case in javascript

前端 未结 10 658
别那么骄傲
别那么骄傲 2020-12-03 19:19

I want a string entered should be converted to sentence case in whatever case it is.

Like

hi all, this is derp. thank you all to answer my qu

10条回答
  •  刺人心
    刺人心 (楼主)
    2020-12-03 20:07

    The below code is working for me as expected.

       function toSentenceCase(inputString) {
            inputString = "." + inputString;
       var result = "";
       if (inputString.length == 0) {
           return result;
       }
    
       var terminalCharacterEncountered = false;
       var terminalCharacters = [".", "?", "!"];
       for (var i = 0; i < inputString.length; i++) {
           var currentChar = inputString.charAt(i);
           if (terminalCharacterEncountered) {
               if (currentChar == ' ') {
                   result = result + currentChar;
               } else {
                   var currentCharToUpperCase = currentChar.toUpperCase();
                   result = result + currentCharToUpperCase;
                   terminalCharacterEncountered = false;
               }
           } else {
               var currentCharToLowerCase = currentChar.toLowerCase();
               result = result + currentCharToLowerCase;
           }
           for (var j = 0; j < terminalCharacters.length; j++) {
               if (currentChar == terminalCharacters[j]) {
                   terminalCharacterEncountered = true;
                   break;
               }
           }
       }
            result = result.substring(1, result.length - 1);
       return result;
     }
    

提交回复
热议问题