delete elements from a cell array
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
elisa ewin
am 21 Jun. 2017
Bearbeitet: Andrei Bobrov
am 22 Jun. 2017
Hi!
I have a cell array b (attached); in each cell of b I have an expression like this: 'Weather booming Chilli Relax https://t.co/pwp00Ndw3d' or expressions with @,#,$. I want to delete from these expressions all the characters like @,#,$ and the links like https://t.co/pwp00Ndw3d.
Example: if I have 'Weather booming @Chilli Relax# https://t.co/pwp00Ndw3d', I will want it becames 'Weather booming Chill Relax'
Can you help me? thanks
3 Kommentare
Jan
am 22 Jun. 2017
Bearbeitet: Jan
am 22 Jun. 2017
Weather booming Chilli Relax https://t.co/pwp00Ndw3d
Perhaps I'm too distrustful, but I've modified the URL slightly to be sure. This does not change the core of the question or the answer. Sorry, these are hard times in the world wide web. Please do not take this personally.
Akzeptierte Antwort
Andrei Bobrov
am 22 Jun. 2017
regexprep(b,'[$#@]|\<https:/+\S*\>','')
8 Kommentare
Andrei Bobrov
am 22 Jun. 2017
Bearbeitet: Andrei Bobrov
am 22 Jun. 2017
Hi Jan! Yes! "Russian rocket". :)
regexprep(b,'\<[^A-Za-z \?\,]|https:/+\S*\>','')
Weitere Antworten (1)
Jan
am 22 Jun. 2017
Bearbeitet: Jan
am 22 Jun. 2017
S = 'Weather booming Chilli Relax https://t.co/pwp00Ndw3d';
C = strsplit(S, ' ');
C(contains(C, '/')) = []; % Or how you identify a link
for iC = 1:numel(C)
aC = C{iC};
C{iC} = aC(isstrprop(aC, 'alphanum'));
end
Result = sprintf('%s ', C{:});
Result(end) = [];
The command contains was introduced in R2016b. If you have an older version, use:
function Tf = contains(C, Patterm)
Tf = ~cellfun('isempty', strfind(C, Pattern));
end
0 Kommentare
Siehe auch
Kategorien
Mehr zu File Name Construction finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!