MATLAB: I am struggling to use sprint

MATLABsprintf

Hi,
I have a problem regarding the use of sprintf.
Inside a user-defined function (which I can edit), the output is "A" and it is defined as:
A=sprintf('The fruits are %s and they are tasty.\n',f); waitfor(msgbox(A));
where f is defined as a string vector with 1 row. The number of columns varies between 1 to 100. For each element, there is a comma at the end of the string.
f is the input of the UDF, and I have no control of the length of it. f comes from another file that I have no control of. f always follows the same pattern, as shown as bolow.
Here are some examples:
1. f=["apple," "pear," "banana,"];
The ideal output is: The fruits are apple,pear,banana, and they are tasty.
2. f=["apple," "pear," "banana," "orange"];
The ideal output is: The fruits are apple,pear,banana,orange, and they are tasty.
3. f=["apple,"];
The ideal output is: The fruits are apple, and they are tasty.
** There is no space between the comma and the next string.
However, the the program gave me :
The fruits are apple, and they are tasty.
The fruits are pear, and they are tasty.
The fruits are banana, and they are tasty.
for the first case
The fruits are apple, and they are tasty.
The fruits are pear, and they are tasty.
The fruits are banana, and they are tasty.
The fruits are orange, and they are tasty.
for the second case
The third case seems working.
Please help.

Best Answer

strjoin()
f=["apple," "pear," "banana," "orange"];
A=sprintf('The fruits are %s and they are tasty.\n',strjoin(f));
Related Question