在大写字母处分割字符串

4
我正在使用Vagalume的API提取歌词。
library(vagalumeR)
library(tibble)
library(stringr)
set.seed(1234)

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个回答

2

你想要使用正向预查

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

它会在""后面紧跟着一个大写字母时进行分割。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接