REPLACE

Replace several elements at once

現在この提出コンテンツをフォロー中です。

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'}

See also FIND, STRREP, REGEXPREP, ISMEMBER

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.

引用

Jos (10584) (2026). REPLACE (https://jp.mathworks.com/matlabcentral/fileexchange/10063-replace), MATLAB Central File Exchange. に取得済み.

一般的な情報

MATLAB リリースの互換性

  • すべてのリリースと互換性あり

プラットフォームの互換性

  • Windows
  • macOS
  • Linux
バージョン 公開済み リリース ノート Action
1.0.0.0

ver 1.4 (dec '06)- added additional logical output TF, which has trues for the elements that are replaced