How to identify partial string duplicates in a table

2 views (last 30 days)
Hi,
I have a table of strings - see attached, and I want to be able to programatically identify and extract the identical part of the strings within that table.
For example, in the attached mat. the strings are:
'*EndoPart*' and '*EndoCort*'
Is there a way to identify the identical portion of the string ('Endo') in the entire column and extract it?
Thank you!

Answers (1)

Stephen23
Stephen23 on 28 Nov 2020
Actually the identical part at the start of the string is '*Endo', and this is easy to find:
>> X = logical(cumprod(all(diff(TableExample.group,1,1)==0,1)));
>> TableExample.group(1,X)
ans =
*Endo
There is also an identical part at the end of the string 'rt*', but I assume that you only want the identical part at the start.
  2 Comments
David Mabwa
David Mabwa on 28 Nov 2020
Edited: David Mabwa on 28 Nov 2020
Yes I am only interested in the identical part at the start.
Thank you, it worked like a charm on the table example.
I however tried on my data and I keep getting this error:
"Check for missing argument or incorrect argument data type in call
"to function 'diff'
I have attached my table. I'm not sure what I am doing wrong.
% The code I run is identical and the datatype is the same.
% Might you have any idea whats going wrong here?
X = logical(cumprod(all(diff(TableExample2.group,1,1)==0,1)));
Thanks again
Stephen23
Stephen23 on 28 Nov 2020
@David Mabwa : I don't think I can open that table with the MATLAB versions I have available to me.
Perhaps someone else might be so kind as to investigate this further.

Sign in to comment.

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!