我正在使用Vagalume的API提取歌曲歌词。
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"
我敢肯定,你们中的大多数人都不懂葡萄牙语,但是请相信我,它跳过了我用作分隔符的大写字母。如何将大写字母包括在较小的块中?
答案 0 :(得分:2)
您要使用positive lookahead:
str_split(string = as.character(letra), "(?=[[:upper:]])")
如果后面紧跟着一个大写字母,它会在""
处分开。