R:如何用引号将字符串的每个元素括起来
R: How to enclose each element of a string with inverted commas
我想从字符串中删除空格、句点和连字符,并用引号将结果字符串的每个元素括起来。此外,我想确保所有字母都是大写的。
我知道如何删除特殊字符列表,但由于我缺乏使用正则表达式或其他字符串操作函数(例如 stringr 函数)的经验,我无法添加封闭的引号。
如何转换
这样的字符串
test1 <- "A.1, b-1, C" # start string
test2 <- gsub("[ .-]", "", test1) # remove period and hyphen
生成字符串'A1','B1','C'
?
我们可以在 ,
上使用 strsplit
,在用 gsub
删除 .-
并将大小写转换为大写后,后跟零个或多个空格
strsplit(gsub("[.-]", "", toupper(test1)), ",\s*")[[1]]
#[1] "A1" "B1" "C"
如果我们需要单个字符串,在删除 .
和 -
之后,捕获单词 (\w+
) 并通过将 '
包裹起来替换它捕获组的反向引用(\1
)
gsub('(\w+)', "'\1'", gsub("[.-]+", "", toupper(test1)))
#[1] "'A1', 'B1', 'C'"
使用
test1 <- "A.1, b-1, C"
test2 <- gsub("[^,\w]+", "", test1, perl=TRUE)
test2 <- paste0("'", gsub(",", "','", toupper(test2)), "'")
用 gsub("[^,\w]+", "", test1, perl=TRUE)
删除逗号以外的所有非单词字符,然后用 paste0("'", gsub(",", "','", toupper(test2)), "'")
.
将引号内的所有逗号替换为逗号并用引号引起来
我想从字符串中删除空格、句点和连字符,并用引号将结果字符串的每个元素括起来。此外,我想确保所有字母都是大写的。
我知道如何删除特殊字符列表,但由于我缺乏使用正则表达式或其他字符串操作函数(例如 stringr 函数)的经验,我无法添加封闭的引号。
如何转换
这样的字符串test1 <- "A.1, b-1, C" # start string
test2 <- gsub("[ .-]", "", test1) # remove period and hyphen
生成字符串'A1','B1','C'
?
我们可以在 ,
上使用 strsplit
,在用 gsub
删除 .-
并将大小写转换为大写后,后跟零个或多个空格
strsplit(gsub("[.-]", "", toupper(test1)), ",\s*")[[1]]
#[1] "A1" "B1" "C"
如果我们需要单个字符串,在删除 .
和 -
之后,捕获单词 (\w+
) 并通过将 '
包裹起来替换它捕获组的反向引用(\1
)
gsub('(\w+)', "'\1'", gsub("[.-]+", "", toupper(test1)))
#[1] "'A1', 'B1', 'C'"
使用
test1 <- "A.1, b-1, C"
test2 <- gsub("[^,\w]+", "", test1, perl=TRUE)
test2 <- paste0("'", gsub(",", "','", toupper(test2)), "'")
用 gsub("[^,\w]+", "", test1, perl=TRUE)
删除逗号以外的所有非单词字符,然后用 paste0("'", gsub(",", "','", toupper(test2)), "'")
.