добавить текст в атоми c (символьный) вектор в г - PullRequest
0 голосов
/ 04 марта 2020

Добрый день, я не эксперт по топикам c атомов c, но мне хотелось бы кое-что по этому поводу

У меня есть скрипт для mov ie "Coco" и я хочу иметь возможность получить строку, которая пронумерована в форме 1., 2., ... (130 сцен по всему mov ie). Я хочу преобразовать строку каждой сцены mov ie в строку, содержащую «Сцена 1», «Сцена 2», до «Сцены 130» и последовательно выполнить ее.

url <- "https://www.imsdb.com/scripts/Coco.html"

coco <- read_lines("coco2.txt") #after clean 
class(coco)
typeof(coco)

"                                                                        48."      
 [782] "     arms full of offerings."                                                     
 [783] "      Once the family clears, Miguel is nowhere to be seen."                      
 [784] "      INT. NEARBY CORRIDOR"                                                       
 [785] "     Miguel and Dante hide from the patrolman.     But Dante wanders"             
 [786] "     off to inspect a side room."                                                 
 [787] "      INT. DEPARTMENT OF CORRECTIONS"                                             
 [788] "     Miguel catches up to Dante.      He overhears an exchange in a"              
 [789] "     nearby cubicle."                                                             

 [797] "                                                          49."                    
 [798] "                 And amigos, they help their amigos."                             
 [799] "                 worth your while."                                               
 [800] "     workstation."                                                                
 [801] "      Miguel perks at the mention of de la Cruz."                                 


 [809] "      Miguel follows him."                                                        
 [810] "                                                                     50." # Its scene number     
 [811] "      INT. HALLWAY"      


s <- grep(coco, pattern = "[^Level].[0-9].$", value = TRUE)

Мое решение неверно, потому что оно не последовательное

v <- gsub(s, pattern = "[^Level].[0-9].$", replacement = paste("Scene", sequence(1:130)))


[1] "                                                                   Scene1"          
  [2] "                                                                   Scene1"          
  [3] "                                                                  Scene1"           
  [4] "                                                                       Scene1"      
  [5] "                                                                    Scene1"         
  [6] "                                                                   Scene1"          

1 Ответ

0 голосов
/ 04 марта 2020

Мне не ясно, что означает [^Level]. Однако, если числа в конце строк в тексте представляют номера сцен, вы можете использовать () для захвата чисел и замены их в тексте замены, как показано ниже:

 v <- gsub(s, pattern = " ([0-9]{1,3})\\.$", replacement = "Scene \\1")
...