[求助] 句尾后面有随机空格很讨厌,求一个vb正则匹配句尾的空格。

bugbug74 2005-08-23 09:52:13
我有大量的 html 文件需要转 html 格式。
狂写正则好几天了,头都麻木了,吃饭的碗筷我都在想用正则替换了。

有个问题如下,比如象这样的

<font color=red>用 户 名</font><br>
<table ......>

注意,<br>后面有一个空格,这种空格到处都是,我想用一个正则能精确的把所有句尾的空格消掉。
空格一般是一个空格,少有两个以上的,如你的正则能匹配多个句尾空格就更好了。

要asp vb 语法的正则,不要js的。
...全文
170 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bugbug74 2005-09-09
  • 打赏
  • 举报
回复
恩,看来就是 \s$ 来匹配了,谢谢解答。
超级大笨狼 2005-09-01
  • 打赏
  • 举报
回复
<button onclick="vbs:gogogo">开始处理</button><br/>

csdnFAQ转换txt格式专用工具:<br/>

<SCRIPT LANGUAGE="vbscript">
'**************************
'*****超级大笨狼***********
'**************************
on error resume next
window.resizeTo window.screen.availWidth,window.screen.availHeight
window.moveTo 0,0


Set fso = CreateObject("Scripting.FileSystemObject")
dim thisFileDir'定义本文件绝对路径
dim thisFileName'定义本文件名
dim thisFileFolder'定义本文件夹路径


dim regEx
set regEx = new RegExp
regEx.Global = true



thisFileDir = replace(window.location.href,"file:///","")
thisFileDir = unescape(replace(thisFileDir,"/","\"))
thisFileName = LastOne(thisFileDir,"\")
thisFileFolder=getFolderDir(thisFileDir)

currentDir = thisFileFolder




function HTMLfilter(str)
'去掉开始到Q:间的东西
regEx.Pattern = "<HTML>[\w\W]*Q :</b>"
str = regEx.Replace(str, "")
'
str = replace(str,"<br>" ,vbcrlf)


regEx.Pattern = "<[^<>]*>"
str = regEx.Replace(str, "")

str = replace(str," " ," ")
str = replace(str,">",">")
str = replace(str,"<","<")
str = replace(str,""",chr(34))
str = replace(str,vbtab ,"")
str = replace(str,"&","&")

regEx.Pattern = "[\s]*主要解答者:[\w\W]*查看[\s]*"
str = regEx.Replace(str, vbcrlf)

regEx.Pattern = "[\s]*网站简介[\w\W]*All rights reserved[\s]*"
str = regEx.Replace(str, "")
regEx.Pattern = "(^\s*)|(\s*$)"
str = regEx.Replace(str, "")
HTMLfilter = trim(str)
end function

function getFolderDir(fullDir)
'输入得到全路径,得到文件夹路径
s=LastOne(fullDir,"\")
getFolderDir = left(fullDir,len(fullDir)-len(s))
end function

Function LastOne(Str,splitStr)
'输入字符和分隔符,得到最后一部分
LastOne = right(Str,len(Str)-InStrRev(Str,splitStr))
End Function

sub seachFile(theFolder)

dim f,f1,st,fd,fd1,t
set f = fso.GetFolder(theFolder)

for each f1 in f.Files
if lcase(right(f1.name,4))=".htm" then
set st = fso.OpenTextFile(f1,1,1)
'全读
if not st.AtEndOfStream then
t=st.readAll


set st = fso.OpenTextFile(getName(f1.name),2,1)
t=HTMLfilter(t)
st.write t
end if
end if
next
set fd = fso.GetFolder(theFolder)
for each fd1 in fd.SubFolders
seachFile fd1
next
end sub

sub gogogo()
seachFile thisFileFolder
alert "处理完毕"
end sub

function getName(x)
dim Arr,a,newName
newName=x
Arr=array("/","\",":","*","?",chr(34),"|","<",">",chr(39))
for each a in Arr
newName=replace(newName,a,"")
next
getName=replace(newName,".htm",".txt")
end function
</script>
patchclass 2005-08-31
  • 打赏
  • 举报
回复
Dim re,s
s = "dkkdkkkkkk< "
set re = New RegExp
re.Pattern = "\s$"
MsgBox re.replace(s,"")
这样匹配的更正确吧:-)
xiongzai 2005-08-31
  • 打赏
  • 举报
回复
刚好要用……
谢了!
qidizi 2005-08-23
  • 打赏
  • 举报
回复
第一次用VB,好象觉得它好烦呵呵,一眼瞧过去不懂那个数是弹出可输入的,所以只得用这个了,

<script language ='vbscript'>
<!--
Dim re,s
s = "dkkdkkkkkk< "
set re = New RegExp
re.Pattern = " *$"
MsgBox re.replace(s,"")
//-->
</script>

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧