需要帮助的是获取子字符串

时间:2011-04-13 06:01:32

标签: vba excel-vba excel

我的格式是字符串

"<testname>$ns1$,$NS2$,$NS3$</testname>"

我需要将字符串作为"$ns1$,$NS2$,$NS3$"

可能会将字符串称为

"    <testname>$ns1$,$NS2$,$NS3$</testname>"

提前致谢 Excel开发

2 个答案:

答案 0 :(得分:0)

所以要重新解决你的问题,你想要在第一个“&gt;”之后开始剪切一个子字符串。并在第一个结束之前结束

在我们去VBA之前,让我们试着找一个公式

cell [A1] contains text "<tag>Content</tag>"

所以

   Formula                            Result      Comment
1) =FIND(">",A1,1)+1                  6           1st char of inner
2) =FIND("</",A1)-1                   12          last char of inner
3) =FIND("</",A1)-FIND(">",A1,1)-1    7           length of inner

结合1&amp; 3你得到

4) =MID(A1,FIND(">",A1,1)+1,FIND("</",A1)-FIND(">",A1;1)-1)
                                      Content     the inner

意味着你可以在没有VBA的情况下切断内心.....但我们确实也可以提供出色的VBA: - ))

希望有所帮助

答案 1 :(得分:0)

Function GetInnerTag(byval value as string) as string
   dim offset1 as integer
   dim offset2 as integer
   offset1= instr(1,value,">")
   'If the index of the first greater-than
   'is less than one, return an empty string
   if offset1 <1 then
      GetInnerTag=""
      Exit Function
   end if

   offset2=instr(offset1+1,value,"<")

   'If the index of the first less-than 
   'less than one, return ""
   if offset2 <1 then
      GetInnerTag=""
      Exit Function
   end if
   GetInnerTag=mid(value,offset1+1,(offset2-offset1-1))
End Function