R语言中如何在字符向量的第10位后添加空格?
字符串插入空格解决方案
核心思路
通过正则捕获字符串前10位字符,在捕获内容后直接拼接空格即可实现需求,gsub函数完全可以实现该操作。
R语言gsub实现代码
# 构造示例字符向量 date_vec <- c("2018-09-032018-09-09", "2018-09-102018-09-16") # 执行替换 processed_date <- gsub(pattern = "^(.{10})", replacement = "\\1 ", x = date_vec)
- 代码参数解释:
pattern = "^(.{10})":^匹配字符串起始位置,.{10}匹配连续10个任意字符,外层括号将这10个字符标记为第一捕获组replacement = "\\1 ":\\1指代第一捕获组的内容,后面追加需要插入的空格x = date_vec:传入待处理的字符序列
运行后processed_date的输出结果就是你需要的"2018-09-03 2018-09-09"、"2018-09-10 2018-09-16"格式。
其他语言等价实现
如果是Python环境,可以用re.sub实现相同效果:
import re date_list = ["2018-09-032018-09-09", "2018-09-102018-09-16"] processed_date = [re.sub(r"^(.{10})", r"\1 ", item) for item in date_list]
注意事项
如果待处理序列中存在长度不足10位的异常字符串,该正则不会对异常值做修改,不会触发处理错误。
内容的提问来源于stack exchange,提问作者FRANCESCO S.
相关产品推荐
相关产品推荐

