MATLAB Answers

How do you remove single quotes around a cell?

27 views (last 30 days)
Israel Yaghtin
Israel Yaghtin on 17 Dec 2019
Commented: Walter Roberson on 30 Dec 2019
I have an excel file containing keywords and what i want to have printed if that keyword is found in a string. A row looks something like this:
The first cell i have no trouble with, it works fine to search a string if Something is in it. The second cell I want to print Something with another word attached to it (SomethingSomewhere).
I've tried this using matrices instead of excel and it works perfectly. The issue with that is that its difficult to update keywords and the printed phrases, which I will need to too often for that to work.
My problem is excel saves the cells as '"Something"+c' (Including the single quotes) which defeats the purpose of the c variable. I cannot find any way to remove those single quotes around it. I wanted it saved as just "Something"+c and have the same result this would:
c="Somewhere";
x="Something"+c;
disp(x)
So that its output is SomethingSomewhere insead of "Something"+c.
My actual code is
for i=1:length(s) % s is the list of keywords
if contains(lstr,s(i)) == 1 % lstr is the string to search for keywords in
disp(sH(i)) % sH is the list of text to print
end
end
I found a few related posts, but none of the suggestions would work. For example I tried:
x=cell2mat(x)
%which would save the cell as '"Something"+c' (Including the single quotes)
x=strrep(x,'''','')
%Which i thought would remove those quotes but it didn't do anything

Answers (1)

Abhilash Padma
Abhilash Padma on 30 Dec 2019
You could use eval method in MATLAB to get the desired result. See the code below:
c="somewhere";
x='"Something"+c';
str=eval(x);
eval returns "somethingsomewhere" here.
Refer the following link for more information regarding eval method: https://in.mathworks.com/help/matlab/ref/eval.html

  1 Comment

Walter Roberson
Walter Roberson on 30 Dec 2019
To me it appears to be an issue of displaying a cell array instead of the content of the cell array, so eval() would not be an appropriate solution.
eval() is almost never the appropriate solution for anything.

Sign in to comment.

Tags

Products


Release

R2019b

Translated by