A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/Symbol.split below:

RegExp.prototype[Symbol.split]() - JavaScript | MDN

RegExp.prototype[Symbol.split]()

Baseline Widely available

The [Symbol.split]() method of RegExp instances specifies how String.prototype.split should behave when the regular expression is passed in as the separator.

Try it
class RegExp1 extends RegExp {
  [Symbol.split](str, limit) {
    const result = RegExp.prototype[Symbol.split].call(this, str, limit);
    return result.map((x) => `(${x})`);
  }
}

console.log("2016-01-02".split(new RegExp1("-")));
// Expected output: Array ["(2016)", "(01)", "(02)"]

console.log("2016-01-02".split(/-/));
// Expected output: Array ["2016", "01", "02"]
Syntax
regexp[Symbol.split](str)
regexp[Symbol.split](str, limit)
Parameters
str

The target of the split operation.

limit Optional

Integer specifying a limit on the number of splits to be found. The [Symbol.split]() method still splits on every match of this RegExp pattern (or, in the Syntax above, regexp), until the number of split items match the limit or the string falls short of this pattern.

Return value

An Array containing substrings as its elements. Capturing groups are included.

Description

This method is called internally in String.prototype.split() when a RegExp is passed as the separator. For example, the following two examples return the same result.

"a-b-c".split(/-/);

/-/[Symbol.split]("a-b-c");

This method exists for customizing the behavior of split() in RegExp subclasses.

The RegExp.prototype[Symbol.split]() base method exhibits the following behaviors:

Examples Direct call

This method can be used in almost the same way as String.prototype.split(), except the different this and the different order of arguments.

const re = /-/g;
const str = "2016-01-02";
const result = re[Symbol.split](str);
console.log(result); // ["2016", "01", "02"]
Using [Symbol.split]() in subclasses

Subclasses of RegExp can override the [Symbol.split]() method to modify the default behavior.

class MyRegExp extends RegExp {
  [Symbol.split](str, limit) {
    const result = RegExp.prototype[Symbol.split].call(this, str, limit);
    return result.map((x) => `(${x})`);
  }
}

const re = new MyRegExp("-");
const str = "2016-01-02";
const result = str.split(re); // String.prototype.split calls re[Symbol.split]().
console.log(result); // ["(2016)", "(01)", "(02)"]
Specifications Browser compatibility See also

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4