R语言 按大写字母拆分字符串

qcuzuvrc  于 2023-02-06  发布在  其他
关注(0)|答案(1)|浏览(176)

我在用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"

我很确定你们大多数人不懂葡萄牙语,但是相信我,它跳过了我用作分隔符的大写字母,我如何将大写字母包含在较小的块中呢?

qjp7pelc

qjp7pelc1#

要使用positive lookahead

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

如果""后面有一个大写字母,则在""处拆分。

相关问题