簡體   English   中英

使用gsub在R中拾取具有特定模式的字符串

[英]pick up string with specific pattern in R using gsub

"CATARACT; #大腿骨~2010"

我需要拿起大腿骨 在使用gsub R中,實際上是unicode,以&#開頭,后跟五位數字,然后以;結尾;

我知道如何使用以下方法擺脫這些unicode:

gsub("&#[0-9]+;","","CATARACT; #大腿骨~2010")

但是如何使用gsub保留這些unicode?

編輯01

我想要的輸出是大腿骨

編輯02

感謝您的回答,但是如果模式不總是這樣,那么無論它們在哪里,我都需要提取unicode:

"CATARACT; #大腿骨~2010;CATARACT; #夨膀骩~2010"

例如使用gregexprregmatches

ex <- "CATARACT; #&#22823;&#33151;&#39592;~2010;CATARACT; #&#22824;&#33152;&#39593;~2010"
m <- gregexpr("&#[0-9]+;", ex)
(r <- regmatches(ex, m))
# [[1]]
# [1] "&#22823;" "&#33151;" "&#39592;" "&#22824;" "&#33152;" "&#39593;"

paste(r[[1]], collapse="")
# [1] "&#22823;&#33151;&#39592;&#22824;&#33152;&#39593;"

你可以試試 :

 gsub("(^\\D*)((&#[0-9]+;)+)(.*$)", "\\2", x)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM