Replace empty string with NaN in a cell

163 Ansichten (letzte 30 Tage)
Daneisha Blair
Daneisha Blair am 23 Aug. 2021
Kommentiert: Daneisha Blair am 23 Aug. 2021
I have a cell called A={ "20" "25" "25" [] "20" [] "25" "25" "25" "30"}
I would like to replace cell A with A={ "20" "25" "25" "NaN" "20" "NaN" "25" "25" "25" "30"}
Any help is highly appreciate, thank you.

Akzeptierte Antwort

Stephen23
Stephen23 am 23 Aug. 2021
Bearbeitet: Stephen23 am 23 Aug. 2021
A = {"20","25","25",[],"20",[],"25","25","25","30"}
A = 1×10 cell array
{["20"]} {["25"]} {["25"]} {0×0 double} {["20"]} {0×0 double} {["25"]} {["25"]} {["25"]} {["30"]}
A(cellfun(@isempty,A)) = {"NaN"}
A = 1×10 cell array
{["20"]} {["25"]} {["25"]} {["NaN"]} {["20"]} {["NaN"]} {["25"]} {["25"]} {["25"]} {["30"]}
Using one string array is likely much better than nesting lots of scalar strings inside a cell array:
B = string(A)
B = 1×10 string array
"20" "25" "25" "NaN" "20" "NaN" "25" "25" "25" "30"

Weitere Antworten (1)

Awais Saeed
Awais Saeed am 23 Aug. 2021
Bearbeitet: Awais Saeed am 23 Aug. 2021
clc;clear;close all;
A={ "20" "25" "25" [] "20" [] "25" "25" "25" "30"}
% get locations of empty cell elements
idx = cellfun('isempty',A);
% replace those empty cells with NaN
A(idx) = {NaN}

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by