Cell-Array operation in large Cell-Array (Vectorization?)

Hello,
I have a large cell-array containing 150k rows and 8 columns.
It's a mix of numbers and strings.
The end of the string in column 7 always is equal to the string in column 8 (e.g.: A{1,7} = 'hello test'; A{1,8} = 'test').
I want to "subtract" the strings in column 8 from column 7, as well as the space characters (varying length) in front of 'test' in the example above (of course for all elements).
It should look like this:
A{1,7} = 'hello'; A{1,8} = 'test'.
Is there an efficient way to do this without using a for-loop?
Thank you very much in advance.

Answers (1)

Read about erase.
C1 = {'Hello man'; 'Hello boss' ; 'Hello kid'} ;
C2 = {'man'; 'boss' ; 'kid'} ;
C = erase(C1,C2)
C = 3×1 cell array
{'Hello '} {'Hello '} {'Hello '}

2 Comments

with your method, there was an error because the array was too big...
strrep worked for me!
Thank you.

Sign in to comment.

Categories

Products

Release

R2021b

Asked:

on 24 Jan 2022

Commented:

on 24 Jan 2022

Community Treasure Hunt

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

Start Hunting!