我有带数字的字符串,如果字符串中有5个以上的数字,我想删除它们.例如,将"string 58474847
"修改为"string"
.但保留"string 55"
不变.数字也可以位于字符串的中间.
我有带数字的字符串,如果字符串中有5个以上的数字,我想删除它们.例如,将"string 58474847
"修改为"string"
.但保留"string 55"
不变.数字也可以位于字符串的中间.
用"{6,}"
表示"超过5":
x <- c("string 58474847", "string 55")
gsub("[0-9]{6,}", "", x)
# "string " "string 55"
如果您还想删除示例中的前导空格:
gsub("\\s*[0-9]{6,}", "", x)
# "string" "string 55"
正如@ChrisRuehlemann指出的那样,这将删除每个字符串中all个6位以上的数字.如果只想删除每个字符串的第一个运行,请使用sub()
.
x2 <- "string 1234567 another string 9876543"
gsub("\\s*[0-9]{5,}", "", x2)
# "string another string"
sub("\\s*[0-9]{5,}", "", x2)
# "string another string 9876543"