MATLAB Answers

Replace empty string with NaN in a cell

6 ビュー (過去 30 日間)
Daneisha Blair
Daneisha Blair 2021 年 8 月 23 日
コメント済み: Daneisha Blair 2021 年 8 月 23 日
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.

採用された回答

Stephen
Stephen 2021 年 8 月 23 日
編集済み: Stephen 2021 年 8 月 23 日
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"
  1 件のコメント
Daneisha Blair
Daneisha Blair 2021 年 8 月 23 日
This is perfect! Thank you.

サインインしてコメントする。

その他の回答 (1 件)

Awais Saeed
Awais Saeed 2021 年 8 月 23 日
編集済み: Awais Saeed 2021 年 8 月 23 日
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}
  1 件のコメント
Daneisha Blair
Daneisha Blair 2021 年 8 月 23 日
Thank you!

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by