[英]Extract substring between two colons / special characters
我想從以下字符串中使用 sub() 提取“SUBSTRING”:
attribute <- "S4Q7b1_t1_r1: SUBSTRING: some explanation: some explanation - ..."
我使用了以下代碼,但不幸的是它不起作用:
sub(".*: (.*) : .*", "\\1", attribute)
有人知道答案嗎?
您可以使用
sub("^[^:]*: ([^:]*).*", "\\1", attribute)
查看正則表達式演示
您需要依賴否定字符類, [^:]
匹配任何字符但:
,因為.*
貪婪地匹配任何 0 或更多字符。 此外,您的模式在:
之前包含一個空格,並且它在字符串中丟失。
細節
^
- 字符串的開始[^:]*
- 任何 0+ 個字符,除:
:
- 帶空格的冒號 - ([^:]*)
- 捕獲組 1( \\1
指此值):除 0+ 以外的任何字符:
.*
- 字符串的其余部分。演示:
attribute <- "S4Q7b1_t1_r1: SUBSTRING: some explanation: some explanation - ..."
sub("^[^:]*: ([^:]*).*", "\\1", attribute)
## => [1] "SUBSTRING"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.