Excel VBA自定义拆分字符串

时间:2018-11-20 14:36:23

标签: arrays excel vba parsing delimiter-separated-values

我的单元格带有字符串,我需要从中提取信息以最终粘贴到其他单元格中。参见下面的snipit。

字符串的结构:

"sub-string part 1 <variable1> sub-string part 2 <variable2> sub-string part 3 <variable3>"

我希望将字符串拆分为一个数组,以便每个sub-string part和每个<variable>是数组的元素。因此,尖括号<...>之间的内容都是变量

resultArray(): {"sub-string part 1", "<variable1>", "sub-string part 2", "<variable2>", "sub-string part 3", "<variable3>}

可以任意方式排列字符串:

  1. "sub-string part 1 <variable1> sub-string part 2 <variable2> sub-string part 3 <variable3> sub-string part 4"

  2. "<variable1> sub-string part 1 <variable2> sub-string part 2 <variable3>"

  3. "<variable1> sub-string part 1 <variable2> sub-string part 2 <variable3> sub-string part 3"

  4. “此字符串没有变量”(在这种情况下,整个字符串仅返回一个元素)

我可以使用regEx构建仅<variable>的数组,但是我无法拆分它,因此子字符串和变量都是数组的元素。

从excel的角度来看,我正在尝试自动根据B列中的A列填充B列中的内容 attached snipit

1 个答案:

答案 0 :(得分:0)

我们可以进行特殊类型的解析。首先转换:

<< / strong>

收件人:

| << / strong>

然后进行转换:

>

收件人:

> |

,然后使用管道进行解析:

private void WriteInput(TextWriter writer)
    {
        var tagBuilder = _htmlGenerator.GenerateTextBox(
          ViewContext,
          For.ModelExplorer,
          For.Name,
          value: null,
          format: null,
          htmlAttributes: new { @class = "form-control" });

        tagBuilder.WriteTo(writer, htmlEncoder);
    }

enter image description here