stri_count_boundaries: 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
|
character vector or an object coercible to |
|
additional settings for |
|
a named list with ICU BreakIterator’s settings, see |
|
|
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
The official online manual of stringi at https://stringi.gagolewski.com/
Gagolewski M., stringi: Fast and portable character string processing in R, Journal of Statistical Software 103(2), 2022, 1-59, doi:10.18637/jss.v103.i02
Other search_count: about_search, stri_count()
Other locale_sensitive: %s<%(), about_locale, about_search_boundaries, about_search_coll, stri_compare(), stri_duplicated(), stri_enc_detect2(), stri_extract_all_boundaries(), stri_locate_all_boundaries(), stri_opts_collator(), stri_order(), stri_rank(), stri_sort_key(), stri_sort(), stri_split_boundaries(), stri_trans_tolower(), stri_unique(), stri_wrap()
Other text_boundaries: about_search_boundaries, about_search, stri_extract_all_boundaries(), stri_locate_all_boundaries(), stri_opts_brkiter(), stri_split_boundaries(), stri_split_lines(), stri_trans_tolower(), stri_wrap()
Examples
test <- 'The\u00a0above-mentioned features are very useful. Spam, spam, eggs, bacon, and spam.'
stri_count_boundaries(test, type='word')
## [1] 31
stri_count_boundaries(test, type='sentence')
## [1] 2
stri_count_boundaries(test, type='character')
## [1] 83
stri_count_words(test)
## [1] 13
test2 <- stri_trans_nfkd('\u03c0\u0153\u0119\u00a9\u00df\u2190\u2193\u2192')
stri_count_boundaries(test2, type='character')
## [1] 8
stri_length(test2)
## [1] 9
stri_numbytes(test2)
## [1] 20