从字符串中删除单个空格
Remove Single Spaces From String
我正在努力解析一些困难的数据,需要只删除单个空格。我的数据行如下例所示
[1] " Class Dist Quantity Market Taxable/$ "
[2] " 4-2101 THIS LAND 28 108.85 216797 6352.00 "
[3] "99-9084 FIRE PROTECTION 9084 0.00 0 26.95 "
[4] "99-9093 COUNTY VALLEY SOIL 9093 0.00 0 6352.00 "
如果我可以通过删除单个空格来压缩带连字符的数字和描述,那么我就可以使用 read.table.
阅读文本
我如何遍历行并将单个空格替换为无空格?结果数据看起来像
[1] " Class Dist Quantity Market Taxable/$ "
[2] " 4-2101THISLAND 28 108.85 216797 6352.00 "
[3] "99-9084FIREPROTECTION 9084 0.00 0 26.95 "
[4] "99-9093COUNTYVALLEYSOIL 9093 0.00 0 6352.00 "
您可以使用 gsub 命令。
data$Class <- gsub("\s{1}(\S)", "\1", data$Class)
根据 rawr 的建议进行编辑。
您也可以在不删除属于 'Class' 列的单词之间的空格的情况下执行此操作。
v1 <- gsub('^\s+|\s+$', '', v1)
v1[-1] <- gsub('(?<=[A-Za-z]|^\b)\s*(?=\d+)', "'", v1[-1], perl=TRUE)
read.table(text=v1, header=TRUE, stringsAsFactors=FALSE, check.names=FALSE)
# Class Dist Quantity Market Taxable/$
#1 4-2101 THIS LAND 28 108.85 216797 6352.00
#2 99-9084 FIRE PROTECTION 9084 0.00 0 26.95
#3 99-9093 COUNTY VALLEY SOIL 9093 0.00 0 6352.00
数据
v1 <- c(" Class Dist Quantity Market Taxable/$ ",
" 4-2101 THIS LAND 28 108.85 216797 6352.00 ",
"99-9084 FIRE PROTECTION 9084 0.00 0 26.95 ",
"99-9093 COUNTY VALLEY SOIL 9093 0.00 0 6352.00 "
)
我正在努力解析一些困难的数据,需要只删除单个空格。我的数据行如下例所示
[1] " Class Dist Quantity Market Taxable/$ "
[2] " 4-2101 THIS LAND 28 108.85 216797 6352.00 "
[3] "99-9084 FIRE PROTECTION 9084 0.00 0 26.95 "
[4] "99-9093 COUNTY VALLEY SOIL 9093 0.00 0 6352.00 "
如果我可以通过删除单个空格来压缩带连字符的数字和描述,那么我就可以使用 read.table.
阅读文本我如何遍历行并将单个空格替换为无空格?结果数据看起来像
[1] " Class Dist Quantity Market Taxable/$ "
[2] " 4-2101THISLAND 28 108.85 216797 6352.00 "
[3] "99-9084FIREPROTECTION 9084 0.00 0 26.95 "
[4] "99-9093COUNTYVALLEYSOIL 9093 0.00 0 6352.00 "
您可以使用 gsub 命令。
data$Class <- gsub("\s{1}(\S)", "\1", data$Class)
根据 rawr 的建议进行编辑。
您也可以在不删除属于 'Class' 列的单词之间的空格的情况下执行此操作。
v1 <- gsub('^\s+|\s+$', '', v1)
v1[-1] <- gsub('(?<=[A-Za-z]|^\b)\s*(?=\d+)', "'", v1[-1], perl=TRUE)
read.table(text=v1, header=TRUE, stringsAsFactors=FALSE, check.names=FALSE)
# Class Dist Quantity Market Taxable/$
#1 4-2101 THIS LAND 28 108.85 216797 6352.00
#2 99-9084 FIRE PROTECTION 9084 0.00 0 26.95
#3 99-9093 COUNTY VALLEY SOIL 9093 0.00 0 6352.00
数据
v1 <- c(" Class Dist Quantity Market Taxable/$ ",
" 4-2101 THIS LAND 28 108.85 216797 6352.00 ",
"99-9084 FIRE PROTECTION 9084 0.00 0 26.95 ",
"99-9093 COUNTY VALLEY SOIL 9093 0.00 0 6352.00 "
)