r - 如何根据\n位置拆分字符元素以创建向量

标签 r

我有一个像这样的字符元素...

element <- "\n\n\n\nPrivate trip\n\n\nPrivate trip \n\n\n\nFull Day Trip \n\n\n\n\n\nFREE Cancellation 3 days notice \n\n"
我想拆分元素以创建一个向量,这样每个向量元素都是 \n 之间的短语.所需的结果将是这样的元素
result <- c("Private trip", "Private trip", "Full Day Trip", "FREE Cancellation 3 days notice")
我觉得这个任务的难点在于 \n 的数量不是恒定的。在每个短语之间。我试过了
strsplit(element, "\n", fixed = FALSE, perl = FALSE, useBytes = FALSE)
但这给了我一个包含许多空元素的列表。我可以使用它,但我觉得可能有更有效的方法。

最佳答案

我们可以指定一个或多个( \n+ )以及零个或多个空格( \\s* )

out <- strsplit(element, "\\s*\n+\\s*")[[1]]
out[nzchar(out)]
#[1] "Private trip"                    "Private trip"                    "Full Day Trip"                  
#[4] "FREE Cancellation 3 days notice"

关于r - 如何根据\n位置拆分字符元素以创建向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66359323/

相关文章:

r - 如何将多列值合并为一列?

r - 如何在 R data.table 中检索按行最大值的列?

r - 根据条件修改数据框中的字符串名称

r - 如何在R中将两列合并为一列,使第二列中的每个值都变成第一列中的每隔一个值?

r - 组合两个 grobs ,其中一个是使用 grid.draw 创建的

r - R CMD Sweave --pdf到底能做什么?

r - spdep "Not yet able to subset general weights lists"列表

r - MLR : Avoiding data leakage in cross validation

r - 获取 R 数据框中的位置序列

r - 将 R 连接到 PostgreSQL 9.4 JSONB 数据类型