以特定格式打印R字符串

时间:2018-10-27 12:43:43

标签: r

我有一个像这样的字符串:

string_needed <- Choose 1: Option A, Option B, Option C; Drinks: Option E

我如何格式化上面的字符串,以便每次我调用“ string_needed”时都会打印:

CHOOSE 1:
Option A, Option B, Option C

DRINKS:
Option E

如您所见,它有两件事。当它检测到“:”时,它将在它之前加上任何内容并转到下一行,并且在检测到“;”时转到下一行。它会转到下一行以及之间的中断。

在这方面需要很多帮助!

1 个答案:

答案 0 :(得分:0)

我不确定您是什么意思”“我如何格式化上面的字符串,以便每次我调用“ string_needed”时,它都会显示:[...]”

您可以定义一个自定义打印函数,该函数可以解析字符串并根据您的预期输出格式化输出。

string_needed <- "Choose 1: Option A, Option B, Option C; Drinks: Option E"

my_print <- function(ss) {
    lst <- sapply(strsplit(ss, "; "), strsplit, ": ")
    for (i in 1:length(lst)) {
        cat(paste(replace(lst[[i]], 1, toupper(lst[[i]][1])), collapse = "\n"))
        cat("\n\n")
    }
}

my_print(string_needed)
#CHOOSE 1
#Option A, Option B, Option C
#
#DRINKS
#Option E