Rename substring in table
2 次查看(过去 30 天)
显示 更早的评论
this is a table with field "Name"
i want to search if name exit in table
example:
name=Preset1
name exist in table ? yes
Then i rename "Preset1" in Preset1_1;
If Preset1_1 exist in table i rename in Preset1_2 ...if exist i rename in Preset1_3..(I add a number following the "_")
0 个评论
采纳的回答
Walter Roberson
2023-9-28
编辑:Walter Roberson
2023-9-28
As a utility, see matlab.lang.makeUniqueStrings -- which already happens to append an underscore and a number. So if you were to make unique strings of name with respect to the existing entries in the Name field...
mask = YourTable.Name == string(name);
if any(mask)
newname = matlab.lang.makeUniqueStrings(name, YourTable.Name);
YourTable.Name(mask) = newname;
end
16 个评论
Walter Roberson
2023-9-30
I am still stuck on the question of whether LoadPreset_Struct(pr) can return a struct that has a numeric value in the Name field ?
If so then
[~,Preset.Name,~]=fileparts(Preset.Name);
would fail with an error message. It would only succeed if the Name field was character vector or cell array of character vector or string array.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!