On Oct 6, 2015, at 7:38 AM, Johannes Radinger wrote: > Hi > > I'd like to remove a leading "3" if my number is 7 digits long, if it is > only 6 I don't want to anything. > I think this should be possible with a 1-liner using sub() but I am not > sure how to define the number of characters following the leading one. > > For example my vector: > > a <- c(3593857,384723,4395843,3398374) > > with sub("^3","",a) I also remove the leading from the second element which > is only 6 digits long. So how to restrict that using sub? The final result > should be > > a <- c(593857,384723,4395843,398374)
Use a wild-card capture class of the correct length: > sub("^3(.{6})$", "\\1", a) [1] "593857" "384723" "4395843" "398374" > > [[alternative HTML version deleted]] It doesn't affect this post but you are requested to post in plain text. -- David Winsemius Alameda, CA, USA ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.