[英]regex patterns on R: n-dash, m-dash, parentheses
我有兩個正則表達式問題:
第 1 部分:我有一個帶有如下字符串的字符向量:
raw_strings <- c("hello world (abc)", "no hi world (abc(d))")
我想提取第一組括號內的內容,如下所示:
clean_strings <- c("abc", "abc(d)")
到目前為止,我一直在使用這個:
str_extract(raw_strings, "(?<=\\().+?(?=\\))")
但是,這會導致:
"abc" "abc(d"
如何更改表達式以保留最后的括號?
第 2 部分:我有一些看起來像這樣的字符串:
b_strings <- c("5.2 ko – word (longer word)", "5.9 ko - two words (long)")
我想要這個:
b_strings_clean <- c("word", "two words")
到目前為止,我已經這樣做了:
str_extract(ac_meta, "\\s[^-–]*$")
結果是:
"word (longer word)" "two words (long)"
如何刪除括號后的所有內容(包括括號)?
謝謝你。
使用環視是否有效:
str_extract(raw_strings, '(?<=\\().*(?=\\))')
[1] "abc" "abc(d)"
str_extract(b_strings, '(?<=[–-]\\s).*(?=\\s\\()')
[1] "word" "two words"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.