Rename substring in table
2 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
Walter Roberson
on 28 Sep 2023
Edited: Walter Roberson
on 28 Sep 2023
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 Comments
Walter Roberson
on 30 Sep 2023
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.
More Answers (0)
See Also
Categories
Find more on Characters and Strings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!