分享

VBA使用正则表达式拆分内容

 hdzgx 2019-10-26

1 重点内容

01 正则表达式文本

myreg.pattern=".*[^学历规划师]:\s+.*"

02  执行语句

regexp.execute(s)

使用regexp对象那个已经设置好的表达式(pattern属性)在字符窜s中查找符合t条件的文本

03  替换

regexp.replace(s,r)并未修改原文本是,而是将替换后的节骨作为一个新的字符窜

cells(i,2)=myreg.(s,replace,“$1:$2“)

#$n 代表din个圆括号中捕获的内容

 

2 应用案例

  1. option explicit
  2. Sub replacedemo()
  3. dim i&,s$
  4. dim myreg as Object
  5. dim myMatches as Object,mymatch as object
  6. '将内容赋值变量
  7. s=range("g2").value
  8. ‘创建一个regexp类型对象,可用于调用处理正则表达式
  9. '
  10. set myReg= Createobject ("Vbscript.regexp")
  11. '获取正则表达式文本
  12. myseg.pattern="(.*)[^学历规划师]:(\s+).*"
  13. # 导出所有符合表达式的内容:
  14. myReg.Global=true
  15. # 应用execute方法执行表达式得到数组
  16. set ymatches=myreg.execute(s)
  17. # 将括号内的内容进行替换
  18. $n 只输出对应的括号内的内容
  19. cell(2,2)myreg.replace(s,"$1:$2")
  20. #遍历matches里边所有符合表达式的内容
  21. for each mymatche in mymatches
  22. cells(i,1)=myMatche.submatches(0)
  23. cells(i,2)=myMatche.submatches(0)
  24. i=i+1
  25. next mymatc
  26. end sub

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多