Function strSymSplit

The strSymSplit() splits a string into substrings using the Symbol.split method from the splitter object to provide custom behavior. If the runtime supports symbols then the default runtime split method will be called, It will use getKnownSymbol to get the WellKnownSymbols.split symbol which will return the runtime symbol or the polyfill symbol when not supported by the runtime.

0.9.1

const splitByNumber = {
[Symbol.split]: (str: string) => {
let num = 1;
let pos = 0;
const result = [];
while (pos < str.length) {
const matchPos = strIndexOf(str, asString(num), pos);
if (matchPos === -1) {
result.push(strSubstring(str, pos));
break;
}
result.push(strSubstring(str, pos, matchPos));
pos = matchPos + asString(num).length;
num++;
}
return result;
}
};

const myString = "a1bc2c5d3e4f";
console.log(strSymSplit(myString, splitByNumber)); // [ "a", "bc", "c5d", "e", "f" ]
  • Parameters

    • value: string

      The string value to be split into substrings.

    • splitter: {
          [split](string: string, limit?: number): string[];
      }

      The object which contains a Symbol.split method, Omitting splitter or passing an object that doesn't contain a Symbol.split causes it to return an array with the calling string as a single element.

      • [split]:function
        • Parameters

          • string: string
          • Optionallimit: number

          Returns string[]

    • Optionallimit: number

      A non-negative integer specifying a limit on the number of substrings to be included in the array. If provided, splits the string at each occurrence of the specified separator, but stops when limit entries have been placed in the array. Any leftover text is not included in the array at all.

      • The array may contain fewer entries than limit if the end of the string is reached before the limit is reached.
      • If limit is 0, [] is returned.

    Returns string[]

    An Array of strings, split at each point where the separator occurs in the given string.