[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] VBS去掉字符串中所有尖括号<...>之间的字符

本帖最后由 pcl_test 于 2016-7-19 12:23 编辑

比如我的字符串是
22233< /b>3333aa
   <u8fj>d93j
3

注意带换行符的,如果去掉所有的<...>其他不变返回新字符,就是把所有的<...>用空字符串替代,应该怎么写呀

我想放在VBS里,批处理写的如何放进去用也请说下,THX

replace <>, 怪异字符0

replace <,怪异字符
replace >,怪异字符

split(str,怪异字符)

循环将偶数下标取出来合并。

replace 怪异字符0,<>

TOP

codehtml_s=split(yaojia_shuju,">")
for t=0 to ubound(codehtml_s)
if instr(codehtml_s(t),"<")<>0 then
codehtml_m=split(codehtml_s(t),"<")(0)
else
codehtml_m=codehtml_s(t)
end if
codehtml_all=codehtml_all&codehtml_m
next
这是我写的,正则还没学!

[ 本帖最后由 sexfio 于 2009-5-6 08:56 编辑 ]

TOP

嗯,用正则最好。

好像regEx.Pattern = "<[^>].*>"也可以。

TOP

使用正则来处理的一个例子,如果内容在文档中,自己可稍做修改,另:这里不替换“<>”,也就是当尖括号中内容为空时,不进行替换...
测试代码:
  1. dim test(4),regEx
  2. test(0)="22233< /b>3333aa"
  3. test(1)="<u8fj>d93j"
  4. test(2)="3"
  5. test(3)="OK<this is a test>test this"
  6. test(4)="test here<>test here"
  7. for i=0 to 4
  8. Mystr=Mystr & vbcrlf & test(i)
  9. next
  10. msgbox "处理前字符:"&Mystr
  11. Set regEx = New RegExp   
  12. regEx.Pattern ="<[^<]{1,}>"
  13. regEx.IgnoreCase = True
  14. regEx.Global = True        
  15. msgbox regEx.replace(Mystr,"")      
复制代码

TOP

返回列表