我正在寻找一种在空格字符处拆分文本的方法,但前提是空格字符前面没有逗号。下面是一些字符串的例子
P3, 367 P5, 367 P5, 367
或者
P3 P5 P5
或者
P3, A6, A7 P4 P5 等等...
将它们在空白字符处拆分如下
arr = VBA.Split(ActiveCell.Value, " ")
Run Code Online (Sandbox Code Playgroud)
期望的结果如下:
[ P3, 367 P5, 367 P5, 367]
或者
[ P3 P5 P5]
或者
[ P3, A6, A7 P4 P5] 等...
快速解决方法
用", "字符串中不存在的特殊内容替换所有内容,例如#转义您", "想要防止拆分的内容。所以
P3, 367 P5, 367 P5, 367
Run Code Online (Sandbox Code Playgroud)
变成
P3#367 P5#367 P5#367
Run Code Online (Sandbox Code Playgroud)
然后用其他独特的东西替换空格,例如%,它变成
P3#367%P5#367%P5#367
Run Code Online (Sandbox Code Playgroud)
然后将#backe的第一次替换恢复到原来的状态,", "这样你就得到了
P3, 367%P5, 367%P5, 367
Run Code Online (Sandbox Code Playgroud)
并分裂%得到
P3, 367
P5, 367
P5, 367
Run Code Online (Sandbox Code Playgroud)
或者
研究如何在 VBA 中使用正则表达式:How to use Regular Expressions (Regex) in Microsoft Excel both in-cell and loops。