Replace each characters of strings with '-'

Hi, I want to replace all the characters of a string by '-', say, flowers will be like '-------'. Please tell me how am I supposed to do that. I am totally new to matlab. As a beginner I've done this so far.
%Select a word
B='skyyiy'
%input letter
c='y'
%stringlength
l=strlength(B)
%indices of letters occurring
d=strfind(B,c)
newStr=strrep(B,c,'-')

2 Comments

It is working fine right????_y_ is replaced by '_'....what you expect?
Suresh Dahal
Suresh Dahal on 10 Aug 2017
Edited: Suresh Dahal on 10 Aug 2017
yes but when I try to replace whole word 'skyyiy' by newStr=strrep(B,B,'-') it shows only '-' not '------', why's that I am not sure. I want to replace whole word with ---- at on instance.

Sign in to comment.

 Accepted Answer

if you've no conditions but just to have the same length as the old string then maybe something like
>> B='skyyiy'
newStr = B;
newStr(1:end) = '-'
B =
'skyyiy'
newStr =
'------'

More Answers (1)

regexprep(B, c, '-')
or
B(B==c) = '_';

3 Comments

the first one replaces only y from the string, but I want to replace all the letters with '------' sign
B(:) = '-';
+1 for the last comment.

Sign in to comment.

Categories

Asked:

on 10 Aug 2017

Commented:

Jan
on 10 Aug 2017

Community Treasure Hunt

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

Start Hunting!