Lulunga

Text Processing 06. Pascal-Case Splitter

Jul 19th, 2019
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(string) {
  2.  
  3.     let pascalArray = [];
  4.     let regex = /[A-Z]/g;
  5.     let found = string.match(regex);
  6.     let currentWord = '';
  7.     //found = [ 'S', 'M', 'I', 'Y', 'C', 'H', 'H', 'Y', 'C', 'O', 'Y', 'C' ]
  8.     for (let i = 0; i < found.length; i++) {
  9.         let firstIndex = string.indexOf(found[i]);
  10.  
  11.         let lastIndex = string.indexOf(found[i + 1], firstIndex + 1);
  12.         if (lastIndex !== -1) {
  13.             currentWord = string.substring(firstIndex, lastIndex);
  14.         } else {
  15.             currentWord = string.substring(firstIndex);
  16.         }
  17.         pascalArray.push(currentWord);
  18.         string = string.substring(lastIndex);
  19.     }
  20.     pascalArray = pascalArray.filter(e => e);
  21.     console.log(pascalArray.join(', '));
  22. }
  23.  
  24. /*function solve(string) {
  25.     const isUpperCase = (symbol) => {
  26.         return symbol === symbol.toUpperCase();
  27.     };
  28.     let pascalArray = [];
  29.     let currentWord = string[0];
  30.     for (let i = 1; i < string.length; i++) {
  31.         if (isUpperCase(string[i])) {
  32.             pascalArray.push(currentWord);
  33.             currentWord = string[i];
  34.         } else {
  35.             currentWord += string[i];
  36.         }
  37.  
  38.     }
  39.     pascalArray.push(currentWord);
  40.     console.log(pascalArray.join(', '));
  41. }*/
Advertisement
Add Comment
Please, Sign In to add comment