File Exchange

REPLACE

version 1.0.0.0 (2.14 KB) by
Replace several elements at once

Updated 08 Dec 2006

Current version 1.4, dec 2006

REPLACE - Replace Elements
B = REPLACE(A,S1,S2) returns a matrix B in which the elements in A that are in S1 are replaced by those in S2. In general, S1 and S2 should have an equal number of elements. If S2 has one element, it is expanded to match the size of S1. Examples:
replace([1 1 2 3 4 4],[1 3],[0 99]) % -> [ 0 0 2 99 4 4]
replace(1:10,[3 5 6 8],NaN) % -> [ 1 2 NaN 4 NaN NaN 7 NaN 9 10]
replace([1 NaN Inf 8 99],[NaN Inf 99],[12 13 14]) % -> [1 12 13 8 14]

[B, TF] = REPLACE(A,S1,S2) also returns a logical vector TF of the same size as A. TF is true for those elements that are replaced.

A and S1 can be cell arrays of strings. In that case S2 should be a cell array as well but can contain mixed types.
Example:
replace({'aa' 'b' 'c' 'a'},{'a' 'b'}, {'xx' 2}) %-> {'aa' [2] 'c' 'xx'}

If S2 is empty, the elements of A that are in S1 are removed.
Examples:
replace(1:5,[2 4],[]) % -> [1 3 5]
replace({'aa' 'a' 'b' 'aa' 'c'},{'aa','c'},{}) % -> {'a', 'b'}

Authhor's note: I failed to find such a utility in matlab or on the FEX so far. Please correct me if there are better alternatives.

Cite As

Jos (10584) (2021). REPLACE (https://www.mathworks.com/matlabcentral/fileexchange/10063-replace), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R13
Compatible with any release
Platform Compatibility
Windows macOS Linux