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 个评论

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

类别

帮助中心File Exchange 中查找有关 Characters and Strings 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by