[英]How to adjust regex to be usable in gsub() in R?
我希望用換行符替換 ggplot label 中的每 4 個空格,在正則表達式中,我的代碼如下所示:
/^(?:[^\s]*[\s]){3}[^\s]*([\s])/
你可以在這里查看: https://regex101.com/r/q7t608/1
但是當我嘗試在 R 中使用它時,使用 gsub() 它不起作用。
gsub('/^(?:[^\\s]*[\\s]){3}[^\\s]*([\\s])/','\n', "trvalý pobyt na území hl. města Prahy")
[1] "trvalý pobyt na území hl. mesta Prahy"
甚至以為我相信我已經逃過了所有的\。 我的原始數據包含可能導致問題的捷克語字符,因此我將它們包含在我的示例中。
當我嘗試一個基本示例時,它可以工作:
gsub('\\s','\n',"trvalý pobyt na území hl. města Prahy")
[1] "trvalý\npobyt\nna\núzemí\nhl.\nmesta\nPrahy"
抱歉,如果我的問題是基本的,我從未使用過正則表達式。
如果您對非正則表達式感興趣,這里有一個替代方案:
S <- strsplit("trvalý pobyt na území hl. m?sta Prahy", " ", fixed = TRUE)[[1]]
paste(sapply(split(S, (seq_along(S)-1) %/% 3), paste, collapse = " "), collapse = "\n")
# [1] "trvalý pobyt na\núzemí hl. m\nsta Prahy"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.