indexing string in function

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 个评论

Stephen23
Stephen23 2016-5-5
编辑:Stephen23 2016-5-5
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) ?
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.
What does "extract the first and last input of the string" mean ?
Do you want the first and last letters, or words ?
Stephen23
Stephen23 2016-5-5
编辑:Stephen23 2016-5-5
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.
Thank you very much :) , turns out calling it was the problem.

请先登录,再进行评论。

 采纳的回答

Stephen23
Stephen23 2016-5-5
编辑:Stephen23 2016-5-5
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

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by