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.

답변 (1개)

KSSV
KSSV 2022년 1월 24일
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

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

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Variables에 대해 자세히 알아보기

제품

릴리스

R2021b

질문:

2022년 1월 24일

댓글:

2022년 1월 24일

Community Treasure Hunt

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

Start Hunting!

Translated by