在R语言中将分隔名称转换为字符串向量的方法
R语言实现多空格分隔字符串转字符向量的现成方法
当然有,R里有多个现成函数可以直接处理这种含连续多空格的分隔字符串:
- 基础包
scan()函数:这是最简便的方案,会自动忽略连续多空格和末尾空白,直接返回目标字符向量:
# 定义输入字符串 x <- "100m LJ SP HJ 400m " # 转换为字符向量 result <- scan(text = x, what = character(), quiet = TRUE) # 输出结果:"100m" "LJ" "SP" "HJ" "400m"
- 基础包
strsplit()函数:借助正则表达式\\s+匹配一个或多个空格,再提取结果并过滤末尾空格产生的空元素:
x <- "100m LJ SP HJ 400m " result <- strsplit(x, "\\s+")[[1]] # 过滤空字符串 result <- result[nzchar(result)]
- tidyverse生态
stringr::str_split_1()(R 4.1及以上版本支持):语法更简洁,搭配空元素过滤即可完成转换:
library(stringr) x <- "100m LJ SP HJ 400m " result <- str_split_1(x, "\\s+") result <- result[nzchar(result)]
以上方法都能直接生成你需要格式的字符串向量。
内容的提问来源于stack exchange,提问作者Ramakrishna S
相关产品推荐
相关产品推荐

