如何移除字符串中省略号(...)及之后的字符?
移除字符串中省略号及后续内容的解决方案
直接用gsub()配合正确的正则表达式就能搞定,核心是要正确匹配连续三个点(.在正则里是通配符,必须转义),再匹配后面所有内容直到字符串结尾。
代码示例
# 原始字符串 text <- c("11. Availability...17", "1. Turnover...7") # 清理字符串:移除三个连续点及之后的所有内容 clean_text <- gsub("\\.{3}.*$", "", text) # 查看结果 clean_text # 输出:c("11. Availability", "1. Turnover")
正则表达式说明
\\.{3}:精准匹配连续三个英文句号(用\\转义是因为.在正则中默认匹配任意单个字符).*:匹配三个点之后的任意数量任意字符$:锚定到字符串结尾,确保从三个点开始一直删到最后
如果之前用gsub("...*$", "", text)失败,是因为没转义.,导致正则把...当成了匹配任意三个字符,而非实际的三个点。
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

