Skip to contents

String subsetting operators.

The x %sget% ss operator gets a certain number of the first and last characters of every string in character vector x.
%s><% is an alias for %sget%.

The x %strim% ss operator trims a certain number of the first and last characters of every string in character vector x.
%s<>% is an alias for %strim%.

Usage

x %sget% ss

x %strim% ss

x %s><% ss

x %s<>% ss

Arguments

x

a character vector.

ss

a vector of length 2, or a matrix with 2 columns with nrow(ss) == length(x). The object ss should consist entirely of non-negative and non-missing integers, or be coerce-able to such integers. (thus negative integers, and missing values are not allowed; decimal numbers will be converted to integers).
The first element/column of ss gives the number of characters counting from the left side to be extracted/removed from x.
The second element/column of ss gives the number of characters counting from the right side to be extracted/removed from x.

Value

The x %sget% ss operator gives a certain number of the first and last characters of character vector x.


The x %strim% ss operator removes a certain number of the first and last characters of character vector x.


Details

These operators serve as a way to provide straight-forward string sub-setting.

Examples



x <- c(paste0(letters[1:13], collapse = ""),
       paste0(letters[14:26], collapse = ""))
print(x)
#> [1] "abcdefghijklm" "nopqrstuvwxyz"
ss <- c(2, 3)
x %sget% ss
#> [1] "abklm" "noxyz"

x <- c(paste0(letters[1:13], collapse = ""),
       paste0(letters[14:26], collapse = ""))
print(x)
#> [1] "abcdefghijklm" "nopqrstuvwxyz"
ss <- c(1, 0)
x %sget% ss
#> [1] "a" "n"

x <- c(paste0(letters[1:13], collapse = ""),
       paste0(letters[14:26], collapse = ""))
print(x)
#> [1] "abcdefghijklm" "nopqrstuvwxyz"
ss <- c(2, 3)
x %strim% ss
#> [1] "cdefghij" "pqrstuvw"

x <- c(paste0(letters[1:13], collapse = ""),
       paste0(letters[14:26], collapse = ""))
print(x)
#> [1] "abcdefghijklm" "nopqrstuvwxyz"
ss <- c(1, 0)
x %strim% ss
#> [1] "bcdefghijklm" "opqrstuvwxyz"