Substitute

type

returns

Method

string

Arguments

name

type

description

value

regex | string

The regex to perform replacements on

replacement

string | (...matches) -> string

Replacement for each matches location

Explanation

Matches all occurences of value, with replacement.

value

  • If value is a string. It is matched as appears in the string gloablly, it is not converted to a regular expression.

  • A regular expression's capture groups are passed to the replacement if applicable.

String replacements

If the replacement is a string, the following charcater sequences have special behavior:

name

explanation

example

$\$

Inserts a literal $

"$\$59.99"

$&

Refers to the entire matches string

"( $& )"

$n

Where n is a number, refers to the nth capture group

$2, $1

$`

Refers to the match the precedes the given match

encountered: $`

$'

Refers to the match that follows the given match

upcoming: $'

Function replacements

If the replacement is a function, the capture groups are passed in the format ( c1, c2, ..., cn ). The function should return string, otherwise an error will be thrown

Examples

"1 + 1 = 2".sub(/\d+ ([+*/-]) \d/g, "$1") == "+ = 2"
"1 + 1 - 2".sub(/(\d+ )?([+-]) \d+/g, "$'") == " - 2 "
"Hi".sub("i", "ello") == "Hello"

Last updated