将多行代码格式化为单行

时间:2018-06-03 07:57:40

标签: r regex

我不太清楚这里的术语。我正在进行代码解析项目,以可视化R脚本的对象之间的关系。除了解析和评估函数和循环之外,几乎所有工作都有效。我不认为我在正则表达式上有足够好的句柄来查找嵌套花括号的开头/结尾。

在脚本中,它可能如下所示:

something_above <- "above"

my_function <- function(x){
    x2 <- x^2 
    if(x2 >= 200){
        res <- "200+"
    } else {
        res <- "<200"
    }
    return(res)
}

something_below <- "below"

当我读到它时,它看起来像这样

string <- '\r\nsometing_above <- \"above\"\r\n\r\nmy_function <- function(x){\r\n x2 <- x^2\r\n if(x2 >= 200){\r\n res <- \"200+\"\r\n } else {\r\n res <- \"<200\"\r\n}\r\n return(res)\r\n }\r\nsomething_below <- \"below\"\r\n'

我希望能够将此功能折叠成一行,如此

... <- function(x){x2 <- x^2 ; if(x2 >= 200){res <- "200+" ; ...}; return(res)}\r\n ...

以便函数中的每个步骤由;而不是新行分隔。但是,我希望将新行\r\n模式保留在作业开头\r\nmy_function,并且一旦函数作业超过};return(res)}\r\n

最终结果将是三行:

[1] something_above <- "above"
[2] my_function <- function(x){x2 <- x^2; if(x2 >= 200 ...}
[3] something_below  <- "below"

谢谢。

0 个答案:

没有答案