MATLAB Answers

How to remove a pattern in a table column

57 views (last 30 days)
JFz
JFz on 4 Oct 2016
Commented: JFz on 4 Oct 2016
Hi,
I have a table with a column. The column looks like this: 'AB_Off' 'ABC' 'CDE_Off'
I would like to remove the '_Off' from every cell in that column. I tried TF = endsWith, and match, but I always get error. "Error using string string is obsolete and will be discontinued. Use char instead." I don't know how to resolve this. Would you please help? Thanks,
Jennifer

  0 Comments

Sign in to comment.

Accepted Answer

Jan Orwat
Jan Orwat on 4 Oct 2016
Edited: Jan Orwat on 4 Oct 2016
assuming T - your table, and n - number of column containing these strings you can do as follows:
T{:, n} = regexprep(T{:, n}, '_Off$', '');
or
T{:, n} = erase(T{:, n}, '_Off');
but second option doesn't detect if it's on the end of a string

More Answers (2)

Hamid Ebrahimi Orimi
Hamid Ebrahimi Orimi on 4 Oct 2016
you mean you have a cell which has 'ABC_Off' string in each element? If I understood correctly, the answer is as follow: A={'ABC_Off', 'ABC_Off','ABC_Off'} for i=1:length(A) if A{i}=='ABC_Off' A{i}='ABC'; end end A is your defined cell.

  0 Comments

Sign in to comment.


elias GR
elias GR on 4 Oct 2016
Edited: elias GR on 4 Oct 2016
strfind function is what you need ( https://www.mathworks.com/help/matlab/ref/strfind.html ). I suppose that you have a cell array of string. Then a simple general solution to remove the _Off from the end of the strings (we suppose that _Off only occurs at the end) is:
str={'AB_Off','ABC','CDE_Off'};
for i=1:length(str)
ind=strfind(str{i},'_Off');
if ~isempty(ind)
str{i}=str{i}(1:ind-1);
end
end

  1 Comment

JFz
JFz on 4 Oct 2016
Thanks a lot.
What I have is a column in a Matlab table. the 'AB_Off', 'ABC', 'CDE_Off' are on different rows in that same column. Is there a way to make all the '_Off' in that column go away? Thanks,
Jennifer

Sign in to comment.

Tags

Products

Community Treasure Hunt

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

Start Hunting!