sub :: String

sub(pattern, replacement[, count = 1]) -> string Returns a string with the first count occurrences of pattern replaced by either a regular string, the returned value of a function or a Template string. pattern can be a string or a regular expression.

Unlike gsub(), sub() takes a third optional parameter which specifies the number of occurrences of the pattern which will be replaced. If not specified, it will default to 1.

Apart from that, sub() works just like gsub(). Please refer to it for a complete explanation.

Examples

var fruits = 'apple pear orange';

fruits.sub(' ', ', ');

// -> 'apple, pear orange'

fruits.sub(' ', ', ', 1);

// -> 'apple, pear orange'

fruits.sub(' ', ', ', 2);

// -> 'apple, pear, orange'

fruits.sub(/\w+/, function(match){return match[0].capitalize() + ','}, 2);

// -> 'Apple, Pear, orange'

var markdown = '![a pear](/img/pear.jpg) ![an orange](/img/orange.jpg)';

markdown.sub(/!\[(.*?)\]\((.*?)\)/, function(match){

return '<img alt="' + match[1] + '" src="' + match[2] + '" />';

});

// -> '<img alt="a pear" src="/img/pear.jpg" /> ![an orange](/img/orange.jpg)'

markdown.sub(/!\[(.*?)\]\((.*?)\)/, '<img alt="#{1}" src="#{2}" />');

// -> '<img alt="a pear" src="/img/pear.jpg" /> ![an orange](/img/orange.jpg)'

Note

Do not use the "g" flag on the regex as this will create an infinite loop.

Prototype API 1.5.0 - prototypejs.org