Replace or remove all occurrences of a string

From CodeCodex

Revision as of 15:23, 3 December 2010 by 211.2.129.92 (Talk)

Related content:

Implementations

Erlang

S = "replace both x and x with a y",
re:replace(S, "x", "y", [global, {return, list}]).

Java

Java has a built in function for replacing all occurrences of a string. This function accepts regular expressions, so you have to take care to escape characters that might have special meaning.

 String s = "replace both x and x with a y";
 int numberOfCommas = s.replaceAll("x","y");

Since Java 1.5, the following is a replace method that does not use regular expressions:

 String s = "replace both x and x with a y";
 int numberOfCommas = s.replace("x","y");

JavaScript

String does not have a replaceAll function in JavaScript. To create such a function, use the code below. This function accepts regular expressions.

 String.prototype.replaceAll=function(s1, s2) { 
   return this.replace(new RegExp(s1,"g"), s2);
 }
 String.prototype.replaceAll=function(s1, s2) {
    var str = this;
    var pos = str.indexOf(s1);
    while (pos > -1){
		str = str.replace(s1, s2);
		pos = str.indexOf(s1);
	}
    return (str);
}

To use this code:

 text = 'replace both x and x with a y';
 finalText = text.replaceAll('[x]','y');

OCaml

# let replace input output =
    Str.global_replace (Str.regexp_string input) output;;
val replace : string -> string -> string -> string = <fun>

For example:

# replace "133t" "Elite" "133t H4x0r";;
- : string = "Elite H4x0r"

Perl

This function accepts regular expressions.

s{1337}{Elite}g; # replace globally

PHP

  $new_str = str_replace($remove_this, '', $input);

Python

new_str = input.replace("x", "y")

Ruby

This function accepts regular expressions.

str = "replace both x and x with a y"
new_str = str.gsub('x', 'y') # replace globally

Seed7

var string: s is "replace both x and x with a y";
s := replace(s, "x", "y");