Unlimited learning, half price | 50% off

Last chance! 50% off unlimited learning

Sale ends in


unheadr (version 0.4.0)

regex_valign: Vertical character string alignment through regular expressions

Description

Aligning strings with regex.

Usage

regex_valign(stringvec, regex_ai, sep_str = "")

Value

A character vector with one element for each line, with padding inserted at the matched positions so that elements are vertically aligned across lines.

Arguments

stringvec

A character vector with one element for each line.

regex_ai

A regular expression matching the position for alignment.

sep_str

Optional character vector that will be inserted at the positions matched by the regular expression.

Details

Written mainly for reading fixed width files, text, or tables parsed from PDFs.

See Also

This function is based loosely on textutils::valign().

Examples

Run this code
guests <-
  unlist(strsplit(c("6       COAHUILA        20/03/2020
7       COAHUILA             20/03/2020
18 BAJA CALIFORNIA     16/03/2020
109       CDMX      12/03/2020
1230   QUERETARO       21/03/2020"), "\n"))

# align at first uppercase word boundary , inserting a separator
regex_valign(guests, "\\b(?=[A-Z])", " - ")
# align dates at end of string
regex_valign(guests, "\\b(?=[0-9]{2}[\\/]{1}[0-9]{2}[\\/]{1}[0-9]{4}$)")

Run the code above in your browser using DataLab