我有复杂的字符串,我需要在其中提取单个单词和/或多个单词。
这是字符串:
<query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" yahoo:count="5" yahoo:created="2013-07-28T18:37:23Z" yahoo:lang="en-US"><diagnostics><publiclyCallable>true</publiclyCallable><user-time>145</user-time><service-time>141</service-time><build-version>38483</build-version></diagnostics><results><Result xmlns="urn:yahoo:cate">**RED**</Result><Result xmlns="urn:yahoo:cate">**GREEN**</Result><Result xmlns="urn:yahoo:cate">**BLUE**</Result><Result xmlns="urn:yahoo:cate">**A, E, I, O, U **</Result><Result xmlns="urn:yahoo:cate">**SOMETIMES Y**</Result></results></query><!-- total: 145 -->
(我真的希望它不会滚动,因为它很难看到整个图片)
无论如何,我需要能够拔出:
红色的
绿色
蓝色的
A、E、I、O、U
有时
++++ 顺便说一句,我试图在大字符串中将这些值设为粗体,但它们显示为星号。忽略星号。它们不是字符串的一部分。但是我将它们留在那里,因为当您查看整个字符串时,它使它们更容易找到)++++
我的目标是将那个复杂的字符串变成这样:
红色|绿色|蓝色|A、E、I、O、U|有时是Y
我的偏好是使用单个嵌套函数(或必要时多个函数的组合)在工作表级别执行此操作。
如果做不到这一点,脚本版本将比没有更好。
我一直在使用SPLIT、FIND、SUBSTITUTE 和其他一些我一时兴起尝试的东西——只是为了尝试所有东西。但是我现在已经达到了对此进行清晰思考的饱和点,我希望有人可以让我走上一条如何从逻辑上解决这个问题的道路。
我真的很难过(也很沮丧)。
===========================================
我说如果我找到工作表级别的解决方案,我会发布解决方案,所以就是这样:
=mid(substitute(substitute(regexreplace(mid(A1,find("<Result",A1),find("</query",A1)-find("<Result",A1)),"<.*?>+","-"),"--","|"),"-","|"),2,len(substitute(substitute(regexreplace(mid(A1,find("<Result",A1),find("</query",A1)-find("<Result",A1)),"<.*?>+","-"),"--","|"),"-","|"))-2)