MATLAB Answers

0

How to remove a bracketed number from a cell array while leaving the number in front of it alone

Asked by Robert Garneau on 11 Nov 2018
Latest activity Commented on by Robert Garneau on 11 Nov 2018
Hi, I have a cell array called "mycellarray" with the following types of strings in it: 24[13]
The [13] in this case is a reference to a footnote and I want to remove the [13] and just have the number 24 left. How do I use a regular expression to remove "[13]" or any footnote i.e. [3] from the number.
Example of the contents of the cell array
13.4[5]
24[11]
56.99[23]
22[4]
I want to remove all the bracketed values along with the number inside the brackets and just have the double number in front kept in the cell array Thank you for your help.. Bob

  0 Comments

Sign in to comment.

2 Answers

Answer by Walter Roberson
on 11 Nov 2018
 Accepted Answer

newstring = regexprep(oldstring, '\[\d+\]', '') ;

  1 Comment

Thank you so much. There were so many good answers it hard to pick just one. thanks....

Sign in to comment.


Answer by madhan ravi
on 11 Nov 2018
Edited by madhan ravi
on 11 Nov 2018

mycellarray={'24[13]'}
regexprep(mycellarray, '\[(.*?)\]', '$1') %edited after sir Walter's comment
or
A='13.4[5] 24[11] 56.99[23] 22[4]'
A(A=='[') = [];
% Remove any and all right brackets.
A(A==']') = []

  2 Comments

'\[(.*)\]' selects too much if there can be multiple matches in one string. '\[(.*?)\]' would be better.

Sign in to comment.