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에서 Dates and Time에 대해 자세히 알아보기

제품

릴리스

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