regexprep() skip first occurrence

2 vues (au cours des 30 derniers jours)
newbie9
newbie9 le 13 Mar 2019
Commenté : newbie9 le 13 Mar 2019
Is there a way to use regexprep() but skip the first occurrence of a space?
mystring = 'this is my string';
desired return:
mystring2 = 'this ismystring';

Réponse acceptée

Akira Agata
Akira Agata le 13 Mar 2019
How about using regexp to find the position of spaces, and delete 2nd~Nth spaces? Like:
mystring = 'this is my string';
pos = regexp(mystring,'\s');
mystring(pos(2:end)) = [];
  1 commentaire
newbie9
newbie9 le 13 Mar 2019
So simple and clean, thanks so much!

Connectez-vous pour commenter.

Plus de réponses (1)

newbie9
newbie9 le 13 Mar 2019
Modifié(e) : newbie9 le 13 Mar 2019
this works but perhaps is not most efficient:
[spaces,letters] = regexp(mystring, ' ', 'match', 'split', 'forceCellOutput');
spaces = [spaces{:}];
letters = [letters{:}];
mystring2 = [sprintf('%s',letters{2:end-1}), letters{end}];
mystring2 = strcat(char(letters(1)), {' '}, mystring2)

Catégories

En savoir plus sur Just for fun dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by