Remove "( )" from string words

11 visualizaciones (últimos 30 días)
Isay
Isay el 18 de Oct. de 2014
Comentada: Jan el 19 de Oct. de 2014

Hi I need to Remove "()" from any word in DataBase.

My Database(cell) have string words such as:

'NEW' 'May' '(AFP)' 'US' 'prosecutors' 'on' 'Friday' 'unveiled' 'indictment' 'including' 'charges' 'of' 'murder' 'and' 'loan' 'sharking' 'against' . . . .

So, I need to Remove "(" and ")" from (AFP). because My word should be : AFP

Respuesta aceptada

Robert Cumming
Robert Cumming el 19 de Oct. de 2014
regexp is very compact and powerful - however it can be a bit slow.
If speed is an issue a simple for loop and strrep can sometimes be faster:
db = { 'NEW' 'May' '(AFP)' 'US' 'prosecutors' 'on' };
pattern = '\(|)';
tic
newdb = regexprep(db, pattern, '');
toc
tic
loopDB = db;
for ii=1:length(db)
loopDB{ii} = strrep ( db{ii}, '(', '' );
loopDB{ii} = strrep ( loopDB{ii}, ')', '' );
end
toc
isequal ( newdb, loopDB )
Elapsed time is 0.002665 seconds.
Elapsed time is 0.000087 seconds.
ans =
1
  1 comentario
Jan
Jan el 19 de Oct. de 2014
strrep operates on cell strings directly:
loopDB = strrep(db, '(', '');
loopDB = strrep(loopDB, ')', '');

Iniciar sesión para comentar.

Más respuestas (1)

Alberto
Alberto el 19 de Oct. de 2014
You should use regexprep to replace anything that matches with parenthesis with an empty string; the pattern that matches any parenthesis shoul be:
pattern = '(\(|\))';
Its necessary to scape ( or ) using \( or \). See the examples:
>> texto = '(AFP)';
regexprep(texto, '(\(|\))', '')
ans =
AFP
>> texto = {'(AFP)','(cro'};
regexprep(texto, '(\(|\))', '')
ans =
'AFP' 'cro'
  1 comentario
Guillaume
Guillaume el 19 de Oct. de 2014
Note that you don't need to surround the alternation with brackets and you don't need to escape the closing bracket, so this simpler pattern would work just as well:
pattern = '\(|)';
newdb = regexprep(db, pattern, '');

Iniciar sesión para comentar.

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by