extra.css

Skip to contents

Use str_head() to view the beginning of a string and str_tail() to view the end of a string. These functions work better for longer strings.

Usage

str_head(string, width = NULL, ellipsis = "...")

str_tail(string, width = NULL, ellipsis = "...")

Arguments

string

A character vector of strings to preview.

width

A single integer for the number of characters to show, without consideration for the length of ellipsis. If not supplied, defaults to the length of the longest string in string divided by 10 and rounded up to the nearest integer.

ellipsis

A single string used to indicate that content has been removed.

Value

A character vector the same length as string.

See also

stringr::str_trunc(), which this function wraps.

Examples

# Basic usage
letters2 <- paste0(rep(letters, 2), collapse="")
letters2
#> [1] "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"

str_head(letters2)
#> [1] "abc..."
str_tail(letters2)
#> [1] "...xyz"

# Slightly more realistic usage
library(tibble)
library(dplyr, warn.conflicts=FALSE)
library(purrr)
library(stringi)

# Consider the scenario where each document is so long that printing out
# the entirety of a single document would flood the console.
my_docs <- tibble(
  doc_id = stri_rand_strings(4, length=6),
  text = rep(20, 4)
) %>%
  mutate(
    text = map(text, ~ stri_rand_lipsum(.x, start_lipsum=FALSE)),
    text = map_chr(text, ~ paste0(.x, collapse=" "))
  )

my_docs
#> # A tibble: 4 × 2
#>   doc_id text                                                                   
#>   <chr>  <chr>                                                                  
#> 1 5pb90S Penatibus tristique cubilia, libero finibus felis mollis maecenas. Ant…
#> 2 UHjlsA Mollis neque pellentesque nostra mus massa sagittis ridiculus eu. Amet…
#> 3 2JOCP3 Vestibulum ipsum urna in sed viverra bibendum suspendisse. Condimentum…
#> 4 OyHgjC Finibus vitae nam volutpat, inceptos id mauris lobortis! Eros congue s…

my_docs %>%
  slice_sample(n = 1) %>%
  pull(text) %>%
  nchar()
#> [1] 12572

# Instead, we can preview the long strings as follows:
my_docs %>%
  pull(text, name=doc_id) %>%
  str_head()
#>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          5pb90S 
#> "Penatibus tristique cubilia, libero finibus felis mollis maecenas. Ante egestas. Sagittis lacus amet parturient iaculis sed auctor. Venenatis malesuada aenean semper nulla, amet ac. Tellus integer nostra accumsan ligula sed enim fermentum leo faucibus nec. In eleifend arcu cum sagittis in finibus ut. Eu mattis suspendisse scelerisque ligula facilisi. Leo egestas ullamcorper non dapibus praesent vehicula etiam. Vitae varius potenti turpis finibus scelerisque morbi. Sociis ac penatibus tristique in diam vestibulum maximus ac. Auctor iaculis maximus sed consequat ullamcorper lacus arcu accumsan dignissim scelerisque erat enim non est, varius. Ut, laoreet, faucibus ex eu taciti ullamcorper urna. Mauris cubilia ac ut condimentum ultrices quis, inceptos non maecenas. Vel laoreet cras morbi curabitur sed suscipit hendrerit. Interdum enim. Litora nisi mi potenti pulvinar eu pharetra eu dui tempus vitae. Curabitur cum eros arcu facilisi ligula lacus. Mauris ut sapien eu feugiat montes lacinia. Quam pharetra ipsum auctor lacus sollicitudin pretium eu. Nulla imperdiet purus accumsan elit ut mus vitae. Sociosqu tempor habitant mi ligula risus parturient vestibulum id praesent. Vel, mattis nibh eget. Vivamus eu posuere egestas natoque ac lorem tortor vehicula sed in posuere vel ut bibendum ut? Enim ridiculus odio ..." 
#>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          UHjlsA 
#> "Mollis neque pellentesque nostra mus massa sagittis ridiculus eu. Amet, quis egestas ut sociosqu suspendisse laoreet sed ac. Ipsum efficitur quis bibendum consequat vel metus purus et facilisi! Metus, aenean, ut vel in maximus pellentesque placerat nec. Sed a turpis phasellus et viverra id potenti laoreet. Et odio orci suspendisse quam donec lacus donec felis. Orci aenean faucibus curabitur nascetur justo auctor dolor ornare vestibulum natoque nulla in. Suspendisse mauris fames sed eros vivamus nostra sed nisi, vehicula. A adipiscing est sem. Curae elementum cum eros, velit feugiat faucibus. Ac egestas in ipsum dignissim hendrerit semper. Convallis scelerisque bibendum. Ipsum metus mauris diam vestibulum velit maecenas eu. Non tempus, donec egestas finibus sed egestas a ut. Sapien facilisis tempus ultricies efficitur quam turpis dolor a. Sapien class velit id. Turpis facilisi pharetra, blandit ut pellentesque malesuada! Fusce magna, quis ipsum gravida est. In ridiculus in ultricies nostra habitant netus mollis diam dapibus, ornare, consectetur condimentum. In eu egestas. Ut eget nisi lorem laoreet nulla feugiat. Facilisis scelerisque vel. Dictumst consequat ligula luctus arcu venenatis pretium consectetur sed vivamus neque. Nullam facilisis hendrerit, sollicitudin. Leo purus tristique, tincidunt aucto..." 
#>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          2JOCP3 
#> "Vestibulum ipsum urna in sed viverra bibendum suspendisse. Condimentum arcu ligula magna sagittis ultrices vestibulum amet. Dui varius consectetur augue class odio maecenas. Et senectus et senectus turpis aliquet a hac, purus. Finibus porttitor suspendisse fermentum lorem finibus phasellus dui commodo curabitur. Justo lacus per diam sed scelerisque, sed nisi non. Mi dictum. Dolor semper erat eget tempor ante tincidunt porttitor. Quis, ipsum. Aliquam vestibulum in, id sed vehicula viverra sed. Platea lorem nascetur mus feugiat nullam metus, nisl malesuada. Cras integer enim quam sit torquent, blandit, litora. Sem nullam curabitur elementum aptent himenaeos ligula sapien sem eu blandit. Vitae sociis et nisl donec cras nisl. Mauris vehicula imperdiet lobortis non neque ac, massa torquent in facilisis finibus sit. Tempor et purus dis pellentesque, himenaeos ut non tempus, finibus. Cubilia nec felis vitae ligula purus blandit. Vel et dapibus adipiscing sed nisl arcu. A maecenas odio sapien ex ex, ipsum maximus! Ullamcorper nisi ut. Nec ac eu. Semper in, etiam, et sed, ipsum. Varius, ridiculus quis elementum nec magna at. Ac eu mus vel eleifend conubia tellus at amet, ac arcu est fermentum id. Cursus sed maecenas odio scelerisque et neque nisi molestie massa est fringilla. Viverra tellus risus sodales eu. N..." 
#>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          OyHgjC 
#> "Finibus vitae nam volutpat, inceptos id mauris lobortis! Eros congue scelerisque integer nec interdum facilisi mauris gravida. Quam odio, tortor et, condimentum ridiculus, nisl varius. Eu nisl fermentum lectus eros iaculis et fusce eget nisl auctor vestibulum hac aptent, leo ut, parturient. Sed, vestibulum hac magnis iaculis nec. Pretium ultricies mauris tempor eros cubilia vestibulum mauris, turpis. Semper dis, mollis. Ut aliquam dapibus in, aliquet. Torquent nullam augue diam a aenean, donec praesent mauris. Id vitae id felis in pellentesque vestibulum nec mi montes. Amet tincidunt vel maximus ut pellentesque eros augue. Non, in tortor consequat sit quis libero auctor lectus. Velit sed vitae, nec, morbi cum eget, semper. Vel nisi, lacus in natoque phasellus sed. Habitant, eget malesuada accumsan per non. Per lacinia habitant enim id lobortis, viverra maecenas quam neque efficitur. Ut facilisi ut vitae sed sociis. Ac diam eget urna enim eget euismod ullamcorper bibendum ridiculus. Ante mi justo, blandit tortor nunc nec sit. Tortor auctor eu orci ut hendrerit suscipit primis. Urna est, est, in himenaeos nunc massa cum vulputate nibh. Sapien elementum et velit lorem in sed. Netus porta at leo praesent nulla enim integer. Non conubia a feugiat, sit dignissim et non volutpat. Euismod, condimentum element..." 

my_docs %>%
  pull(text, name=doc_id) %>%
  str_tail()
#>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          5pb90S 
#> "...llus nullam ipsum et. Risus mauris nulla sed interdum est faucibus sociosqu. Massa, ut et taciti eget a ipsum ante, nulla. Elementum pellentesque, nunc sapien nisl venenatis est aenean. Posuere viverra, velit nulla cubilia quis. Bibendum consectetur rhoncus in ac porta. Auctor mollis vestibulum aliquet. Ad quam, dui amet turpis luctus. Vitae primis ut, euismod sociosqu aliquam nibh in dolor in per orci. Et, hendrerit nulla magna vitae in. Sed, malesuada, eros accumsan, nibh vel, erat dictum accumsan. Nulla aliquam est tortor dolor a ex. Sed cum eros, at, mattis leo. Nec ut pellentesque vestibulum amet potenti ut vitae mi suspendisse primis convallis. Sagittis, eget eu semper sit habitasse platea mus. Non in vitae nostra. Justo turpis rhoncus commodo dolor ornare aptent sed. Libero hendrerit quis in laoreet, bibendum dui. Mus, facilisis lacus, adipiscing diam. Risus luctus. Blandit suspendisse augue habitant vel urna litora ultrices a lectus class aliquet at maecenas. Natoque finibus quisque faucibus, libero. A auctor velit urna nulla, volutpat efficitur sociis. Ac amet a id primis interdum egestas justo in. Consequat habitant urna ultricies in elementum phasellus commodo. Mattis mattis et vel non consequat, eu et. Dui quisque augue at velit ultrices sem sem. Suscipit et a vitae, imperdiet, ut in quam." 
#>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          UHjlsA 
#> "...sus pellentesque. Congue sed nec iaculis ipsum curabitur, ante. Vel nec adipiscing nec sem adipiscing metus vitae iaculis. In quis sagittis eros, a dui ut orci sed curabitur, lectus. Sed vulputate iaculis commodo porttitor in maximus lacus. Tempus habitasse. Mauris id mus ut facilisi aliquam habitasse. Sagittis imperdiet lacus sociosqu egestas nec nisi dui dui. Malesuada sit praesent sociosqu etiam. Vestibulum sed tincidunt mus, a sed augue cras nisl. Egestas, mauris rutrum sed ac, odio in varius. Nec metus felis non sapien, est, consequat sollicitudin lacinia justo, dis. Sed dapibus donec pharetra quis. Fames, et ullamcorper nunc ante donec suscipit tellus luctus nullam ut placerat sapien sed. Molestie sit mauris mauris viverra fermentum. Vehicula phasellus nec tincidunt vitae eget tincidunt eu egestas. Non praesent duis ac arcu, blandit risus, etiam in venenatis, mi dignissim sed. Himenaeos est imperdiet sed ornare elementum finibus mollis vehicula eget porta mi. Aenean habitant vulputate lacus ipsum eros. Donec finibus dui tincidunt magna ante nibh. Duis, lacus velit a feugiat in nec accumsan. Rutrum feugiat quis convallis lacinia ipsum mi sed potenti. At nullam in dolor eu varius ex ligula. A ipsum nec purus ipsum et phasellus condimentum amet himenaeos non ac. Efficitur id, malesuada ac maecenas." 
#>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          2JOCP3 
#> "...s quis class cursus placerat. Accumsan felis cursus purus netus dictumst lorem sed. Eu magnis mattis feugiat ad nec lacus. Leo imperdiet eros, ultrices, amet nibh et, donec ac ridiculus vestibulum quam ipsum nisl. Consequat quam nisi lobortis. Et cras nunc interdum, rhoncus malesuada sed taciti vehicula eu. Interdum tincidunt ut tristique. Ligula eleifend dui vestibulum eu, metus aptent varius. Egestas eu ut ultricies ex. In maecenas parturient tortor dolor inceptos, amet sed. Laoreet taciti non tempus egestas leo congue, id natoque. Metus platea diam auctor ligula, lorem cubilia duis ligula dignissim mattis. Condimentum, netus ut proin lacus non mollis, faucibus porta dui eleifend, dolor magnis. Ridiculus purus sit dictum non phasellus velit urna. Nunc ex commodo ex interdum metus elit tempus in ligula blandit curabitur odio. Feugiat, sed vel lectus sociosqu orci nulla nec in in sociosqu. Vestibulum sit magnis dapibus quis in in maecenas. Justo dapibus nulla bibendum etiam lorem fusce nunc. Ac nec nunc porttitor praesent amet. In, vivamus penatibus efficitur laoreet vitae in. Et, ultricies consequat vitae integer suspendisse potenti mus sapien integer, ultrices morbi! A lacus velit, ullamcorper purus erat orci. Pulvinar laoreet at lorem, vel curabitur. Dis in commodo, imperdiet sit natoque duis eros." 
#>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          OyHgjC 
#> "...ies porttitor maecenas velit augue blandit nunc, odio ultricies in tincidunt sit congue. Mattis scelerisque nullam in ad auctor tortor nascetur est commodo lectus. Porta, nulla lobortis montes senectus consequat, varius fermentum platea. Purus eu consectetur commodo vitae sed justo ultrices. Etiam, mus tristique class justo luctus ut sem sit, leo. Curae sem ac tristique, vivamus in per. Donec erat urna maecenas sollicitudin cursus integer vel. Semper leo mi, phasellus. Torquent arcu sed, malesuada faucibus ante quam sed a erat. Rutrum erat ligula et magnis odio a taciti rutrum id sapien. Nec id magna ut vel donec vitae lacus. Facilisis magnis sociis tristique urna arcu. Sed in placerat, non duis cursus faucibus consectetur, ex venenatis, efficitur. Erat hac, curabitur, diam adipiscing. Et donec ac ac velit, ridiculus odio, aliquam magnis etiam elementum blandit id diam. Et, eget magnis amet imperdiet. Malesuada, vestibulum mattis orci, in in. Tristique felis arcu ultricies erat ac aenean consequat ipsum tincidunt. Vestibulum parturient ligula sed dolor vivamus diam. Conubia senectus mus sem sed risus. Non ac vel tortor. Ac maecenas magna sit mi placerat turpis. A lorem vel purus suscipit at. Nec ligula. Erat mauris volutpat, et aliquet non sed. Id eu conubia massa fusce aliquet egestas, nec sem velit."