[R] regex sub with specified number of characters

Ivan Calandra ivan.calandra at univ-reims.fr
Tue Oct 6 16:47:00 CEST 2015


Hi Johannes,

Not sure if this can be done with sub() only, but combining it with 
ifelse() apparently does what you want:
ifelse(nchar(a)==7, sub("^3","",a), a)

HTH,
Ivan

--
Ivan Calandra, PhD
University of Reims Champagne-Ardenne
GEGENAA - EA 3795
CREA - 2 esplanade Roland Garros
51100 Reims, France
+33(0)3 26 77 36 89
ivan.calandra at univ-reims.fr
https://www.researchgate.net/profile/Ivan_Calandra

Le 06/10/15 16:38, Johannes Radinger a écrit :
> 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)
>
> Any suggestions?
>
> Best regards,
> Johannes
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.
>



More information about the R-help mailing list