I have a function that i want to return the first and last word from a string. so for example firstAndLast('matlab') should give me (m,b), however i am only able to get the first letter from this function?
function [first,last] = firstAndLast(instring)
first=instring(1);
last=instring(length(instring));
end

6 Kommentare

Stephen23
Stephen23 am 5 Mai 2016
Bearbeitet: Stephen23 am 5 Mai 2016
Your question is not clear: you write that you "want to return the first and last word from a string", but then your example seems to return the first and last letters: "firstAndLast('matlab') should give me (m,b)"
Which do you really want: the letters (like your example), or the words (like your explanation) ?
Ian Tee
Ian Tee am 5 Mai 2016
opps sorry, to clarify i would enter the word and input it as a string in the function. Therefore i would like to extract the first and last input of the string.
Stephen23
Stephen23 am 5 Mai 2016
What does "extract the first and last input of the string" mean ?
Do you want the first and last letters, or words ?
Ian Tee
Ian Tee am 5 Mai 2016
letters
Stephen23
Stephen23 am 5 Mai 2016
Bearbeitet: Stephen23 am 5 Mai 2016
This is what your code does: I suspect that the problem is that were calling your function with only one output, instead of the two that it requires. In any case, in my answer I gave you a simpler way of doing this.
Ian Tee
Ian Tee am 5 Mai 2016
Thank you very much :) , turns out calling it was the problem.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Stephen23
Stephen23 am 5 Mai 2016
Bearbeitet: Stephen23 am 5 Mai 2016

2 Stimmen

Words
>> C = regexp('the quick brown fox','\S+','match');
>> C([1,end])
ans =
'the' 'fox'
Letters
>> fun = @(s)s([1,end]);
>> fun('matlab')
ans =
mb

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by