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));

 Réponse acceptée

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

5 commentaires

Mohammad Shahbazy
Mohammad Shahbazy le 12 Mai 2021
Modifié(e) : Mohammad Shahbazy le 12 Mai 2021
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'}
Ivan Mich
Ivan Mich le 9 Mar 2023
Modifié(e) : Ivan Mich le 9 Mar 2023
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'

Connectez-vous pour commenter.

Plus de réponses (1)

A = 'abc (ABC)' ;
idx = strfind(A,' (') ;
iwant = A(1:idx-1)

Catégories

En savoir plus sur Characters and Strings dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by