【发布时间】:2018-11-20 14:36:22
【问题描述】:
我有带有字符串的单元格,我需要从中提取信息以最终粘贴到其他单元格中。请参阅下面的代码片段。
字符串的结构:
"sub-string part 1 <variable1> sub-string part 2 <variable2> sub-string part 3 <variable3>"
我希望将字符串拆分为一个数组,以便每个sub-string part 和每个&lt;variable&gt; 都是数组的一个元素。所以尖括号&lt;...&gt;之间的任何东西都是一个变量
resultArray(): {"sub-string part 1", "<variable1>", "sub-string part 2", "<variable2>", "sub-string part 3", "<variable3>}
字符串可以任意排列:
"sub-string part 1 &lt;variable1&gt; sub-string part 2 &lt;variable2&gt; sub-string part 3 &lt;variable3&gt; sub-string part 4""&lt;variable1&gt; sub-string part 1 &lt;variable2&gt; sub-string part 2 &lt;variable3&gt;""&lt;variable1&gt; sub-string part 1 &lt;variable2&gt; sub-string part 2 &lt;variable3&gt; sub-string part 3"“这个字符串没有变量”(在这种情况下,只有一个元素会与整个字符串一起返回)
我可以使用正则表达式构建一个仅包含&lt;variable&gt; 的数组,但我无法拆分它,以便子字符串和变量都是数组的一个元素。
【问题讨论】:
-
欢迎来到 Stack Overflow。请注意,由于这不是免费的代码编写服务,因此有必要显示您迄今为止尝试过的内容以及遇到的问题或错误(通过显示您的代码),或者至少显示您的研究内容和所做的努力.否则,它只是要求我们为您完成所有工作。阅读How to Ask 可能会帮助您改进您的问题。
-
实际上,我没有发现使用正则表达式将其拆分为数组的问题。请参阅regex101.com/r/BGOYSm/2中的第 1 至 7 组
-
谢谢,但由于我对正则表达式的了解有限,我不知道如何。我不是在寻找特定的字符串,例如(你的名字是 )。这可以是任何东西。我不知道子字符串是什么,也不知道尖括号之间的变量名是什么。我所知道的是,任何以方括号开头和结尾的东西都是一个变量,并且有点充当分隔符来分割我的字符串。相同的正则表达式需要应用于上面示例中的单元格 A2 和 A8,并在 B 列中产生结果。到目前为止,如果我使用正则表达式 \<.> 它会提取我的变量,但我需要找到如何获取休息
-
好吧,即使使用正则表达式也是可能的:regex101.com/r/BGOYSm/3 请注意,正则表达式标志设置为“不贪婪”
/gmU -
谢谢!这有帮助。
标签: arrays excel vba parsing csv