首页 > 解决方案 > 如果前面没有逗号,如何在空格字符处拆分字符串

问题描述

我正在寻找一种在空格字符处拆分文本的方法,但前提是空格字符前面没有逗号。以下是字符串的一些示例

P3, 367 P5, 367 P5, 367

或者

P3 P5 P5

或者

P3, A6, A7 P4 P5ETC...

让它们在空格字符处拆分如下

arr = VBA.Split(ActiveCell.Value, " ")

期望的结果如下:

[ P3, 367 P5, 367 P5, 367]

或者

[ P3 P5 P5]

或者

[ P3, A6, A7 P4 P5]等...

标签: excelvba

解决方案


快速解决方法

将 all 替换", "为字符串中不存在的特殊内容,例如#转义您", "想要防止拆分的内容。所以

P3, 367 P5, 367 P5, 367

变成

P3#367 P5#367 P5#367

然后用其他独特的东西替换空格,例如%它变成

P3#367%P5#367%P5#367

然后将第一次替换#backe 恢复为原来的", ",这样你就得到了

P3, 367%P5, 367%P5, 367

并分开%得到

P3, 367
P5, 367
P5, 367

或者

研究如何在 VBA 中使用正则表达式:如何在 Microsoft Excel 中在单元格和循环中使用正则表达式 (Regex)


推荐阅读