Skip to contents

The purpose of this function is combine the functionality of strsplit, unlist and as.numeric, which are often used together.

Usage

strsplit.num(x, split, fixed = FALSE, perl = FALSE, useBytes = FALSE)

Arguments

x

character vector, each element of which is to be split. Other inputs, including a factor, will give an error.

split

character vector

fixed

logical. If TRUE match split exactly, otherwise use regular expressions. Has priority over perl.

perl

logical. Should Perl-compatible regexps be used?

useBytes

logical. If TRUE the matching is done byte-by-byte rather than character-by-character, and inputs with marked encodings are not converted.

Value

numeric values based on split string

Details

Given a sting, split by a separator into numbers

Examples

# Example 1
# string of numbers with separator " "
num.01 = "5 3 2 3 5 2 33 23 5 32 432 42 23 554"

# split a string of numbers and return as numeric
strsplit.num(num.01, split = " ")
#>  [1]   5   3   2   3   5   2  33  23   5  32 432  42  23 554


# Example 2
# string of numbers with separator "|||"
num.02 = "0|||1|||4|||43|||6|||8|||00||| 1||| 0 1||| T |||F|||TRUE |||f"

# split a string of numbers and return as numeric
strsplit.num(num.02, split = "[|||]")
#> Warning: NAs introduced by coercion
#>  [1]  0 NA NA  1 NA NA  4 NA NA 43 NA NA  6 NA NA  8 NA NA  0 NA NA  1 NA NA NA
#> [26] NA NA NA NA NA NA NA NA NA NA NA NA