stri_count_boundaries {stringi}R Documentation

Count the Number of Text Boundaries


This function determines the number of specific text boundaries (like character, word, line, or sentence boundaries) in a string.


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

stri_count_words(str, locale = NULL)



character vector or an object coercible to


additional settings for opts_brkiter


a named list with ICU BreakIterator's settings as generated with stri_opts_brkiter; NULL for default break iterator, i.e. line_break


NULL or "" for text boundary analysis following the conventions of the default locale, or a single string with locale identifier, see stringi-locale


Vectorized over str.

For more information on the 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 word boundaries, and all non-word characters (UBRK_WORD_NONE rule status) are ignored. This is 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. This may lead to different results than that returned by the stri_length function, which is designed to return the number of Unicode code points.

On the other hand, a BreakIterator of type sentence may be used to count the number of sentences in a piece of text.


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_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


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

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

[Package stringi version 1.1.7 Index]