【发布时间】:2019-06-27 06:31:50
【问题描述】:
我尝试用 sapply 函数替换数据帧中的 unicode“U+00F3”,但什么也没发生。我要替换的 unicode 部分是 chr 类型。
这里是函数:
tableExcel$Team <- sapply(tableExcel$Team, gsub, pattern = "<U+00F3>", replacement= "o")
编辑:
感谢下面Cath的回答,我在+之前添加了:\\
tableExcel$Team <- sapply(tableExcel$Team, gsub, pattern = "<U\\+00F3>", replacement= "o")
但是没有用。
我也尝试提供我的数据集的示例,但问题是它适用于它而不是我的:
tableExcel <- data.frame("Team" = c("A", "B", "C", "Reducci<U+00F3>n"), "Point" = c(2, 30, 40, 30))
tableExcel$Team <- as.character(tableExcel$Team)
为了提供更多信息,这里输入我的excel文件:
tableExcel <- as.data.frame(read_excel("Dataset LOS.xls", sheet = "Liga Squads"))
我的数据结构:
structure(list(Team = c("CHURN", "CHURN", "RESIDENCIAL NPTB", "RESIDENCIAL NPTB", "AUDIENCIAS TV", "AUDIENCIAS TV"), Points = c("P. Asig", "P. entr", "P. Asig", "P. entr", "P. Asig", "P. entr"), 2019-S01 = c(0, 0, 50, 0, NA, NA), 2019-S02 = c(0, 0, 10, 10, NA, NA), 2019-S03 = c(93, 88, 46, 19, NA, NA), 2019-S04 = c(56, 48, 0, 0, 13, 13), 2019-S05 = c(NA, NA, 80.5, 49.5, 42, 28.5), 2019-S06 = c(NA, NA, 66, 48, 55, 39.5), 2019-S07 = c(131, 112, 103, 63, 40.5, 38)), row.names = c(1L, 2L, 4L, 5L, 7L, 8L), class = "data.frame")
【问题讨论】:
-
您需要为
gsub添加fixed=TRUE或转义特殊字符("<U\\+00F3>"而不是"<U+00F3>"),因为+表示“一次或多次” 在正则表达式而不是 jsut "+" 中,请参阅?regex -
我试过这样但没用:
tableExcel$Team <- gsub("<U\\+00F3>", "o", tableExcel$Team,fixed = TRUE) -
转义或输入
fixed=TRUE:您的行正在搜索“” -
它没有用。也许是因为 ?
-
那么我们需要更多信息...因为
gsub("<U\\+00F3>", "o", "aaa<U+00F3>")提供了[1] "aaao"预期。 (不需要转义)