how do I remove special characters from my cell array strings?

I have a cell array of the sorts:
{'508-647-7000'} {' (508) 647-7001'} {' 617-555-1212'}
I need the special characters and the spaces removed from these. The result should look something like this:
{'5086477000'} {'5086477001'} {'6175551212'}
I tried writing the following cell function to do it:
characters = ['(',')',' ','-'];
s_nos=cellfun(@(x) x~=characters,s_split, 'UniformOutput', false);
but I am getting the following error: * Matrix dimensions must agree.*
Kindly help.

3 Kommentare

Okay, I did a slight experimentation of my own and figured it can be done in this manner:
s_nos=regexprep(s_split,'[^0-9]','');
You can enter that solution as an answer and accept it.
You can also use isstrprop to keep only digits:
s_nos=cellfun(@(x) x(isstrprop(x,'digit')),s_split, 'UniformOutput', false);
Thanks Rik Wisselink

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by