R: Count the Number of Text Boundaries

stri_count_boundaries {stringi} | R Documentation

## Count the Number of Text Boundaries

### Description

These functions determine the number of text boundaries (like character, word, line, or sentence boundaries) in a string.

### Usage

    stri_count_boundaries(str, ..., opts_brkiter = NULL)

    stri_count_words(str, locale = NULL)

### Arguments

`str` | character vector or an object coercible to
`...` | additional settings for `opts_brkiter`
`opts_brkiter` | a named list with ICU BreakIterator's settings, see `stri_opts_brkiter`; `NULL` for the default break iterator, i.e., `line_break`
`locale` | `NULL` or `""` for text boundary analysis following the conventions of the default locale, or a single string with locale identifier, see stringi-locale

### Details

Vectorized over `str`.

For more information on text boundary analysis performed by ICU's `BreakIterator`, see stringi-search-boundaries.

In case of `stri_count_words`, just like in `stri_extract_all_words` and `stri_locate_all_words`, ICU's word `BreakIterator` iterator is used to locate the word boundaries, and all non-word characters (`UBRK_WORD_NONE` rule status) are ignored. This function is equivalent to a call to `stri_count_boundaries(str, type="word", skip_word_none=TRUE, locale=locale)`.

Note that a `BreakIterator` of type `character` may be used to count the number of Unicode characters in a string. The `stri_length` function, which aims to count the number of Unicode code points, might report different results.

Moreover, a `BreakIterator` of type `sentence` may be used to count the number of sentences in a text piece.

### Value

Both functions return an integer vector.

### See Also

Other search_count: `stri_count()`, `stringi-search`

Other locale_sensitive: `%s<%()`, `stri_compare()`, `stri_duplicated()`, `stri_enc_detect2()`, `stri_extract_all_boundaries()`, `stri_locate_all_boundaries()`, `stri_opts_collator()`, `stri_order()`, `stri_sort()`, `stri_split_boundaries()`, `stri_trans_tolower()`, `stri_unique()`, `stri_wrap()`, `stringi-locale`, `stringi-search-boundaries`, `stringi-search-coll`

Other text_boundaries: `stri_extract_all_boundaries()`, `stri_locate_all_boundaries()`, `stri_opts_brkiter()`, `stri_split_boundaries()`, `stri_split_lines()`, `stri_trans_tolower()`, `stri_wrap()`, `stringi-search-boundaries`, `stringi-search`

### Examples

    test <- "The\u00a0above-mentioned    features are very useful. Kudos to their developers."
    stri_count_boundaries(test, type="word")
    stri_count_boundaries(test, type="sentence")
    stri_count_boundaries(test, type="character")
    stri_count_words(test)

    test2 <- stri_trans_nfkd("\u03c0\u0153\u0119\u00a9\u00df\u2190\u2193\u2192")
    stri_count_boundaries(test2, type="character")
    stri_length(test2)
    stri_numbytes(test2)

[Package stringi version 1.4.6 Index]