我有一个关于删除列数据框内的字符文本中的空格的问题.这是我的数据框列:
head(data$HO)
[1] "Lidar; Wind field; Temperature; Aerosol; Fabry-Perot etalon"
[2] "Compressive ghost imaging; Guided filter; Single-pixel imaging"
Run Code Online (Sandbox Code Playgroud)
这个问题与这一个链接不同,因为我只想删除符号";"后面的空格.,所以输出应该如下所示:
head(data$HO)
[1] "Lidar;Wind field;Temperature;Aerosol;Fabry-Perot etalon"
[2] "Compressive ghost imaging;Guided filter;Single-pixel imaging"
Run Code Online (Sandbox Code Playgroud)
我试过了
data$HO <- gsub("\\;s", ";",data$HO)
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
有什么建议吗?
您可以使用;\s+模式并替换为;:
> x <- c("Lidar; Wind field; Temperature; Aerosol; Fabry-Perot etalon", "Compressive ghost imaging; Guided filter; Single-pixel imaging")
> gsub(";\\s+", ";", x)
[1] "Lidar;Wind field;Temperature;Aerosol;Fabry-Perot etalon"
[2] "Compressive ghost imaging;Guided filter;Single-pixel imaging"
Run Code Online (Sandbox Code Playgroud)
图案细节:
; - 分号\s+ - 一个或多个空格字符.请参阅正则表达式演示.
解决方案的更多变体:
gsub("(*UCP);\\K\\s+", "", x, perl=TRUE)
gsub(";[[:space:]]+", ";", x)
Run Code Online (Sandbox Code Playgroud)