[R] How to left or right truncate a character string?

Phil Spector spector at stat.berkeley.edu
Tue Dec 14 21:40:59 CET 2010


Mark -
    Since regular expressions in R are just character
strings, it's pretty easy to assemble a regular expression
to delete leading or trailing characters.  For example:

> delchars = function(str,n,lead=TRUE){
+    dots = paste(rep('.',n),collapse='')
+    pat = if(lead)paste('^',dots,sep='') else paste(dots,'$',sep='')
+    sub(pat,'',str)
+ }
> str = "this is a test"
> delchars(str,4)
[1] " is a test"
> delchars(str,4,lead=FALSE)
[1] "this is a "


 					- Phil Spector
 					 Statistical Computing Facility
 					 Department of Statistics
 					 UC Berkeley
 					 spector at stat.berkeley.edu



On Tue, 14 Dec 2010, Mark Na wrote:

> Hi R-helpers,
>
> I have a character string, for example:
>
> "lm(y ~ X2 + X3 + X4)"
>
> from which I would like to strip off the leading and trailing
> quotation marks resulting in this:
>
> lm(y ~ X2 + X3 + X4)
>
>
> I have tried using gsub() but I can't figure out how to specify the
> quotation mark using a regular expression.
>
> Alternatively, I would like a function that lets me delete the leading
> (or trailing) X characters, and in this case X=1 (but it could be used
> more flexibly to delete several leading or trailing characters).
>
> I would appreciate help with either of these potential solutions (gsub
> and regex, or delete leading/trailing characters).
>
> Many thanks!
>
> Mark
>
> ______________________________________________
> R-help at r-project.org mailing list
> 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