You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将号码0912345678格式化为0912-345678?已尝试R语言代码

R语言实现手机号格式调整:在第4位后插入短横线

你的代码问题出在正则表达式的写法和替换逻辑上:

  • 原正则....()......没有正确捕获需要保留的前后两部分内容
  • 直接替换为-会把匹配的所有字符都替换成短横线,而非插入符号

正确实现代码

data_phone_new = readLines("data_phone.txt")
# 匹配开头4位数字和后续6位数字,用短横线连接
formatted_phones = gsub("(^\\d{4})(\\d{6})$", "\\1-\\2", data_phone_new)

代码解释

  • (^\\d{4}):捕获字符串开头的4位数字(括号创建捕获组,^确保从开头匹配,\\d{4}匹配4个数字)
  • (\\d{6})$:捕获字符串结尾的6位数字($确保匹配到字符串末尾)
  • \\1-\\2:替换时调用两个捕获组的内容,中间插入短横线-

如果你的手机号长度不固定(比如有11位的情况),可以调整正则中的数字位数,比如11位手机号可以用(^\\d{3})(\\d{8})$来调整格式。

内容的提问来源于stack exchange,提问作者佑喵喵

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 09:40:27