我想试着解析出一个结构,它使用了一个先前捕获的命名标记,并使用该标记中的名称作为另一个标记的名称。这可能吗?例如,对于字符串foo:bar,我希望将标记field捕获为foo,将标记foo捕获为bar我认为它应该看起来像这样:data = regexp(text,'(?<field>\w+)...((??\?\<$<field>\>[^;]));','names');但到目前为止我还没有成功。
foo:bar
field
foo
bar
data = regexp(text,'(?<field>\w+)...((??\?\<$<field>\>[^;]));','names');
nzk0hqpo1#
我建议首先使用split拆分字符串
splt_str = split('foo:bar', ':');
然后,使用分隔字符串填充结构体
data.(splt_str{1}) = splt_str{2};
这种方法的核心是,可以通过将字符串作为字段名传递到括号()中来填充结构体。请参见this帮助页面。
1条答案
按热度按时间nzk0hqpo1#
我建议首先使用split拆分字符串
然后,使用分隔字符串填充结构体
这种方法的核心是,可以通过将字符串作为字段名传递到括号()中来填充结构体。请参见this帮助页面。