Si por "caracteres especiales" ¿Quieres decir que utilizan con menos frecuencia Unicode personajes como ¥
, ¶
, o ¼
, a continuación, puede utilizar la función de REGEXPREP o establecer funciones de comparación como ISMEMBER (y que pueda convierta primero la cadena de caracteres a su código entero equivalente usando la función DOUBLE si es necesario). Aquí hay un par de ejemplos en los que todos menos los caracteres del alfabeto Inglés estándar (mayúsculas y minúsculas) se extraen de una cadena:
str = ['ABCDEFabcdefÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐ']; %# A sample string
str = regexprep(str,'[^a-zA-Z]',''); %# Remove characters using regexprep
str(~ismember(str,['A':'Z' 'a':'z'])) = ''; %# Remove characters using ismember
%# (as suggested by Andrew)
str(~ismember(double(str),[65:90 97:122])) = ''; %# Remove characters based on
%# their integer code
Todas las opciones anteriormente producen el mismo resultado:
str =
ABCDEFabcdef
EDIT:
en respuesta al ejemplo específico en la cuestión actualizada, aquí es cómo se puede utilizar para reemplazar todo REGEXPREP carac tros que no son a-z
, A-Z
, o 0-9
con espacios en blanco:
str = regexprep(str,'[^a-zA-Z0-9]','');
Esto puede ser más fácil que tratar de escribir una expresión regular para que coincida con cada individuo carácter "especial", ya que potencialmente podrían ser muchas de ellas . Sin embargo, si eran cierta que los únicos caracteres especiales serían _
, %
y !
, se debería lograr el mismo que el anterior:
str = regexprep(str,'[_%!]','');
Además, como se menciona en el comentario de Amro, usted podría también utilizar la función ISSTRPROP para reemplazar todos los caracteres no alfanuméricos con espacios en blanco de este modo:
str(~isstrprop(str,'alphanum')) = '';
Puede explicar un poco más claramente lo que quiere decir? Tal vez darnos un ejemplo? –
¿Qué quiere decir con "caracteres especiales"? – gnovice
Dependiendo de lo que quiere decir con "caracteres especiales", es posible que desee utilizar la función ISSTRPROP: http://www.mathworks.com/help/techdoc/ref/isstrprop.html Puede probar letras, números, espacios, control de caracteres, ... – Amro