如何使用 R 中的 strsplit 根据分隔类型定义 if 语句?

How can I define if statements depending on the type of the separation using strsplit in R?

我正在尝试使用 textInput 创建一个闪亮的应用程序。这个想法是用户可以输入一个单词列表来使用它。

我找到了这个 ,它允许我将单词拆分成一个向量。但是,这取决于用户决定如何在应用程序中输入单词。我想知道是否可以创建具有分离类型的 if 语句。例如,如果用户这样写:

  1. word1,word2,word2 或
  2. word1 word2 word3 或
  3. word1、word2、word3 或 另一种组合。

问题是我需要一个最终向量以便以后使用它。

我想要的分色类型示例:

#1
unlist(strsplit("a, b, c", ", "))
[1] "a" "b" "c"

#2
unlist(strsplit("a,b,c", ","))
[1] "a" "b" "c"


#3
unlist(strsplit("a b c", " "))
[1] "a" "b" "c"

有没有办法查看分离类型? 喜欢...

if sep="," or sep=", " or sep=" " { do something}

另一方面,我想知道如果用户决定将所有内容都设置为小写或大写,以便仅将所有单词更改为一种类型,是否有可能使用 if 语句。

有人能帮帮我吗?

提前致谢

此致

您可以使用 | 将多个分隔符传递给 strsplit

#split on comma followed by zero or more whitespace OR one or more whitespace
split_list <- function(x) unlist(strsplit(x, ',\s*|\s+'))

split_list("a, b, c")
#[1] "a" "b" "c"

split_list("a,b,c")
#[1] "a" "b" "c"

split_list("a b c")
#[1] "a" "b" "c"

使用toupper/tolower将所有单词分别变成大写或小写。