Расщепление строк на основе заглавных букв (R) - PullRequest
0 голосов
/ 30 декабря 2018

Я извлекаю текст песни с помощью API Vagalume.

library(vagalumeR)
library(tibble)
library(stringr)
set.seed(1234)

key = "7a67715b6d0dd6edf7556cc0d176e4ac"

musicas = as.tibble(topLyrics(name = "seu-jorge",
                          message = TRUE))

musica = sample(musicas$id.top, 1)

letra = lyrics(identifier = musica,
   type = "id",
   artist = "seu-jorge",
   key = key)

Однако letra - это всего лишь один большой блок текста, и я хочу разбить его на более мелкие

str_split(string = as.character(letra),
     "[[:upper:]]")

И вот что я получаю:

[1] "Pretinha"                                 "aço tudo pelo nosso amor"                
[3] "aço tudo pelo bem de nosso bem (meu bem)" " saudade é minha dor"                    
[5] "ue anda arrasando com meu coração"        "ão"                                      
[7] "uvide que um dia"                         "u te darei o céu"                        
[9] "eu amor junto com um anel"                "ra gente se casar"                       

Я почти уверен, что большинство из вас не знает португальский, но поверьте мне, пропускается заглавная буква, которую я использую в качестве разделителя.Как включить заглавную букву в более мелкие куски?

1 Ответ

0 голосов
/ 30 декабря 2018

Вы хотите использовать положительный прогноз :

str_split(string = as.character(letra), "(?=[[:upper:]])")

Он разделяется на "", если сразу после него есть заглавная буква.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...