How can i remove a previous character present before the underscore including the underscore also.

I need to make my_john_sam as mjohsam. I need to remove underscore along with the character present just before underscore.
thanks

Answers (2)

Replace any one character followed by one underscore with empty string
>> regexprep( 'my_john_sam', '._', '' )
ans =
mjohsam

2 Comments

Thank you...
i was doing like this
c='my_john_sam';
for i=1:length(c)
if (strfind(c,'_'))
x=strfind(c,'_');
for j=1:x
z=c(x-1:x);
d=strrep(c,z,'');
end
end
end
but i was remove only the 1st instance of underscore but not the second one.
See Debug a MATLAB Program and try this
>> cssm('my_john_sam')
ans =
mjohsam
>> cssm('a string without underscore')
ans =
a string without underscore
where
function str = cssm( str )
ixs = strfind(str,'_');
for jj = fliplr( ixs )
z = str(jj-1:jj);
str = strrep(str,z,'');
end
end

Sign in to comment.

c='my_john_sam';
idx = c == '_';
c( idx|[idx(2:end), false]) = [];
or
c='my_john_sam';
idx = find(c == '_');
c([idx, idx-1]) = [];

Tags

Asked:

on 1 Oct 2015

Edited:

on 1 Oct 2015

Community Treasure Hunt

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

Start Hunting!