2013-09-05 7 views
1

Я хочу заменить все, что имеет issue # 000... или issue #000... (пробел между цифрами и значком фунта) с href url на основе цифр этой строки. ... представляет любое количество цифр.Заменить часть строки

## Вот MWE строка:

News <- readLines(n=5) 
CHANGES 

* Fixed bug see GitHub issue #12 

* Fixed bug see GitHub issue # 111. (John Doe) 

News 

## Вот кусочки HREF URL

## Roots 
roota <- "<a href=\"https://github.com/trinker/qdap/issues/" 
rootb <- "\">" 
rootc <- "</a>" 

## Вот желаемый результат

c("CHANGES",          
    "",            
    "* Fixed bug see GitHub <a href=\"https://github.com/trinker/qdap/issues/12\">issue #12</a>" ,    
    "",            
    "* Fixed bug see GitHub <a href=\"https://github.com/trinker/qdap/issues/111\">issue #111</a>. (John Doe)" 
) 

## Вот моя первая попытка извлечения части

gsub("(.)(issue)(.[#])(\\s*)([0-9]+)", "\\1", News) 

## Схватив цифры я почти вставить их вместе с

paste(roota, DIGIT_GRABBED, rootb, "issue #, DIGIT_GRABBED, rootc) 

* Я отметил это с regex, но обратите внимание, что R regex - это особая порода, и вы должны быть знакомы с R, если вы ответите.

+0

@Josh да, установил это. –

ответ

1

Вы могли бы просто использовать:

gsub(pattern="issue *# *([0-9]+)", replacement="<a href=\"https://github.com/trinker/qdap/issues/\\1\">issue #\\1</a>", x=News) 
+0

Идеально и проще, чем я пытался. Я проверю, как только наступит 10 минут. –

Смежные вопросы