Remove parenthesis and the contents inside from a string

Is there a neat way to remove a parenthesis and the contents inside from a string. For example the string
A = 'abc (ABC)'
% how to extract 'abc' from A, get rid of ' (ABC)' including the leading whitespace?
One cumbersome solution is:
temp = strsplit(A,'(');
B = strtrim(temp(1));

 채택된 답변

A = 'abc (ABC)';
B = regexp(A,'^\w+','once','match')
B = 'abc'

댓글 수: 5

Mohammad Shahbazy
Mohammad Shahbazy 2021년 5월 12일
편집: Mohammad Shahbazy 2021년 5월 12일
If we have something like this:
S = {'A(+229.16)AAAAAAAAW'
'AAA(+148.52)DETLRLW'
'AA(+155.89)ALPAAALW'};
How can we remove (+*) from middle?
I need to have the following array:
S = {'AAAAAAAAAW'
'AAADETLRLW'
'AAALPAAALW'};
Thanks in advance,
Moh
Perhaps one of these:
S = {'A(+229.16)AAAAAAAAW'
'AAA(+148.52)DETLRLW'
'AA(+155.89)ALPAAALW'};
A = regexprep(S,'[^A-Z]+','')
A = 3×1 cell array
{'AAAAAAAAAW'} {'AAADETLRLW'} {'AAALPAAALW'}
B = regexprep(S,'\([^)]+\)','')
B = 3×1 cell array
{'AAAAAAAAAW'} {'AAADETLRLW'} {'AAALPAAALW'}
Excuse me I have a question.. how could you do the inverse of this??
I mean to extract the only the characters that exist in brackets without the others.
for example:
input : A = 'abc (ABC)';
output B = 'ABC'
could you please help me?
"I mean to extract the only the characters that exist in brackets without the others."
A = 'abc (ABC)';
B = regexprep(A,{'.*\(','\).*'},'')
B = 'ABC'

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

추가 답변 (1개)

KSSV
KSSV 2021년 1월 7일
A = 'abc (ABC)' ;
idx = strfind(A,' (') ;
iwant = A(1:idx-1)

카테고리

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

태그

질문:

2021년 1월 7일

댓글:

2023년 3월 9일

Community Treasure Hunt

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

Start Hunting!

Translated by