簡體   English   中英

如何調整正則表達式以在 R 的 gsub() 中使用?

[英]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.

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