stringi (version 1.2.4)

stri_split_lines: Split a String Into Text Lines

Description

These functions split each character string into text lines.

Usage

stri_split_lines(str, omit_empty = FALSE)

stri_split_lines1(str)

Arguments

str

character vector (stri_split_lines) or a single string (stri_split_lines1)

omit_empty

logical vector; determines whether empty strings should be removed from the result [stri_split_lines only]

Value

stri_split_lines returns a list of character vectors. If any input string is NA, then the corresponding list element is a single NA string.

stri_split_lines1(str) is equivalent to stri_split_lines(str[1])[[1]] (with default parameters), thus it returns a character vector. Moreover, if the input string ends at a newline sequence, the last empty string is omitted from the result. Therefore, this function may be handy if you wish to split a loaded text file into text lines.

Details

Vectorized over str and omit_empty.

omit_empty is applied during splitting. If it is set to TRUE, then empty strings will never appear in the resulting vector.

Newlines are represented on different platforms e.g. by carriage return (CR, 0x0D), line feed (LF, 0x0A), CRLF, or next line (NEL, 0x85). Moreover, the Unicode Standard defines two unambiguous separator characters, Paragraph Separator (PS, 0x2029) and Line Separator (LS, 0x2028). Sometimes also vertical tab (VT, 0x0B) and form feed (FF, 0x0C) are used. These functions follow UTR#18 rules, where a newline sequence corresponds to the following regular expression: (?:\u{D A}|(?!\u{D A})[\u{A}-\u{D}\u{85}\u{2028}\u{2029}]. Each match is used to split a text line. For efficiency reasons, the search here is not performed by the regex engine, however.

References

Unicode Newline Guidelines -- Unicode Technical Report #13, http://www.unicode.org/standard/reports/tr13/tr13-5.html

Unicode Regular Expressions -- Unicode Technical Standard #18, http://www.unicode.org/reports/tr18/

See Also

Other search_split: stri_split_boundaries, stri_split, stringi-search

Other text_boundaries: stri_count_boundaries, stri_extract_all_boundaries, stri_locate_all_boundaries, stri_opts_brkiter, stri_split_boundaries, stri_trans_tolower, stri_wrap, stringi-search-boundaries, stringi-search