daily pastebin goal
8%
SHARE
TWEET

Untitled

a guest Apr 16th, 2018 49 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function getSplitStrs(str, subStrs){
  2.     let splitStrs = [];
  3.  
  4.     function getFirstSplitStr(str, subStrs){
  5.         let firstIndex = Infinity;
  6.         let firstStr = ""
  7.  
  8.         for (let subStr of subStrs){
  9.             let index = str.indexOf(subStr)
  10.             if (index >= 0 && index < firstIndex){
  11.                 firstIndex = index
  12.                 firstStr = subStr
  13.             }
  14.         }
  15.  
  16.         if (firstIndex >= 0){
  17.             let childStr = str.substring(0, firstIndex)
  18.             if (childStr.length > 0){
  19.                 splitStrs.push({
  20.                     type: 0,
  21.                     str: childStr
  22.                 })
  23.             }
  24.             childStr = str.substring(firstIndex, firstIndex + firstStr.length)
  25.             if (childStr.length > 0) {
  26.                 splitStrs.push({
  27.                     type: 1,
  28.                     str: childStr
  29.                 })
  30.             }
  31.         }
  32.  
  33.         str = str.substring(firstIndex + firstStr.length)
  34.  
  35.         if (str.length !== 0 &&  firstIndex !== -1) {
  36.             getFirstSplitStr(str, subStrs)
  37.         }
  38.     }
  39.  
  40.     getFirstSplitStr(str, subStrs)
  41.  
  42.     return splitStrs
  43. }
  44.  
  45. // Example
  46. // var str = "中华人民共和国浙江省三门县海游镇"
  47. // var subStrs  = ["人民", "浙江", "三门", "镇"]
  48. // var splitStrs =  getSplitStrs(str, subStrs)
RAW Paste Data
Top