我正在嘗試在由某些字符分隔的字串周圍添加括號;
例如,我有一個字串,如:“Red => Orange => Yellow blue => Grey,black”
我想得到類似 "[ Red ] => [ Orange ] => [ Yellow blue ] => [ Grey,black ]" 的東西(前面的空格和括號也存在)
我在 R 中使用 stingr 包嘗試了幾種方法,但我無法獲得上述模式。
在此先感謝您的幫助
我曾嘗試在 R str_replace_all(str,"\b\w ","[\1]") 和 str_replace_all(str,"\b\w ","[") 中使用 stringr 函式,但該函式替換了指定的字符,我找不到在字符前替換的方法
uj5u.com熱心網友回復:
您可以使用
x <- "Red => Orange => Yellow blue => Grey,black"
paste0("[ ", paste(strsplit(x, " => ", fixed=TRUE)[[1]], collapse=" ] => [ "), " ]")
paste0("[ ", gsub("\\s*=>\\s*", " ] => [ ", x), " ]")
請參閱R 演示。兩種解決方案都會產生[1] "[ Red ] => [ Orange ] => [ Yellow blue ] => [ Grey,black ]"
。
該gsub("\\s*=>\\s*", " ] => [ ", x)
部分將所有出現的零個或多個空格、=>
零個或多個空格替換為空格 ] => [
空格。
paste0("[ ", gsub(...), " ]")
用于將整個字串用[
和括起來 ]
。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/527115.html
標籤:r正则表达式