使用 Excel Vba 拆分字符串并仅恢复 [ ] 之间的元素

Ala*_*ley 0 excel vba

我有一个形式的字符串:

"word 1, word 2, ..., word n, [Etiquette], many other words"
Run Code Online (Sandbox Code Playgroud)

我只想检索“礼仪”并将其放入变量中。

目前我有例如 v = "blabla, [Etiquette]"

我知道我可以使用 Split 函数,但是当我尝试显示时Debug.Print Split(v)出现类型错误。

感谢您的帮助 !

Dan*_*anh 6

这是一种方法:

1、Filter(Split(x, ","), "[")获取包含“[...]”的字符串

2、将这些字符串连接成一个by join function(这样可以避免过滤器什么都不返回时出现的错误)

3、删除字符“[”和“]” replace function

4、去掉不必要的空格 trim function

. 下面是测试代码:

Sub Test()
x = "word 1, word 2, ..., word n, [Etiquette], many other words"
z = Trim(Replace(Replace(Join(Filter(Split(x, ","), "["), ","), "[", ""), "]", ""))
'z = Replace(Join(Filter(Split(Replace(x, "[", "]#"), "]"), "#"), ","), "#", "")'vs2
Debug.Print Z
End Sub
Run Code Online (Sandbox Code Playgroud)

  • 巧妙地使用“Filter()”来定位正确的数组成员。 (3认同)