gpt4 book ai didi

R 删除特殊字符和重复的下划线

转载 作者:行者123 更新时间:2023-12-04 10:12:43 29 4
gpt4 key购买 nike

我有一个包含空格和其他标点字符的数据集。我正在尝试用“_”替换空格和特殊字符。这会创建多个“_”串在一起的点,所以我也想通过使用以下函数来删除这些点,如 here 所述:

removeSpace <- function(x){
class1 <- class(x)
x <- as.character(x)
x <- gsub(" |&|-|/|'|(|)",'_', x) # convert special characters to _
x <- gsub("([_])\\1+","\\1", x) # convert multiple _ to single _

if(class1 == 'character'){
return(x)
}
if(class1 == 'factor'){
return(as.factor(x))
}
}

问题不是删除空格并用“_”替换,而是用“_”替换每个其他字符(即“test”->“t_e_s_t”)

我做错了什么?

最佳答案

您不需要运行两个单独的替换来完成此操作。只需在匹配模式中添加一个 + 量词。

匹配:[-/&'()]+

替换为:_

另外请注意,我使用了字符集,而不是使用 | 在每个选项之间切换。在匹配多个单个字符中的一个时,这通常是一种更好的方法。

关于R 删除特殊字符和重复的下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46531328/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com