regexprep() skip first occurrence

3 ビュー (過去 30 日間)
newbie9
newbie9 2019 年 3 月 13 日
コメント済み: newbie9 2019 年 3 月 13 日
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';

採用された回答

Akira Agata
Akira Agata 2019 年 3 月 13 日
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 件のコメント
newbie9
newbie9 2019 年 3 月 13 日
So simple and clean, thanks so much!

サインインしてコメントする。

その他の回答 (1 件)

newbie9
newbie9 2019 年 3 月 13 日
編集済み: newbie9 2019 年 3 月 13 日
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)

カテゴリ

Help Center および File ExchangeCharacters and Strings についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by