Swap first and last word in a string
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Nobita Nobi
am 18 Mai 2019
Bearbeitet: madhan ravi
am 18 Mai 2019
Hi there,
Can anyone please tell me how to continue this task? I am able to find the first and last word but could not figure out the way to swap them.
Many thanks!
function f = swap(str)
s=' ';
sp=strfind(str,s);
for i=1:sp(1)-1
firstword(i)=str(i);
end
lastword = str(sp(end)+1:end);
0 Kommentare
Akzeptierte Antwort
madhan ravi
am 18 Mai 2019
Bearbeitet: madhan ravi
am 18 Mai 2019
Simpler:
s = 'hello world';
Wanted = swap(s) % function call
% function
function Wanted = swap(str)
S = regexp(str,'\S*','match');
S([1,end]) = S([end,1]);
Wanted = strjoin(S);
end
0 Kommentare
Weitere Antworten (1)
Image Analyst
am 18 Mai 2019
Here's one way:
% Create sample string.
str = 'one two three four five';
% Split apart into individual words without spaces.
words = strsplit(str)
% Swap the first and last words.
[words(end), words(1)] = deal(words(1), words(end))
% String the words together with spaces between them.
outputString = ''; % Initialize output
for k = 1 : length(words)
outputString = sprintf('%s ', outputString, words{k});
end
% Trim off the leading and trailing spaces.
outputString = strtrim(outputString)
1 Kommentar
madhan ravi
am 18 Mai 2019
Bearbeitet: madhan ravi
am 18 Mai 2019
This adds an extra space inbetween words.
>> strlength(str)
ans =
23
>> strlength(outputString)
ans =
27
>>
Siehe auch
Kategorien
Mehr zu Startup and Shutdown finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!