如何在VBScript中按筛选器查找字符串?
我这里有个问题: 我有一篇这样的文章如何在VBScript中按筛选器查找字符串?,vbscript,Vbscript,我这里有个问题: 我有一篇这样的文章 a lot of html tags MPI-START Hello world! Hello world 2! MPI-END a lot of html tags again 不知何故,我需要在MPI-START和MPI-END之间获取文本 它可以包含许多行和文本,因此我需要将它们全部获取 我试图搜索,但什么都没有 有什么想法吗? 也为我的英语感到抱歉,我来自俄罗斯 UPD:我需要的文本包含在文本中,好的,我找到了答案 不完美但有效 Dim stri
a lot of html tags
MPI-START
Hello world!
Hello world 2!
MPI-END
a lot of html tags again
不知何故,我需要在MPI-START和MPI-END之间获取文本它可以包含许多行和文本,因此我需要将它们全部获取
我试图搜索,但什么都没有
有什么想法吗?
也为我的英语感到抱歉,我来自俄罗斯
UPD:我需要的文本包含在
文本中,好的,我找到了答案
不完美但有效
Dim strid,outtr
strid=“许多地狱标记MPI-START”&vbNewLine&“Hello World!”&vbNewLine&“Hello World 2!”&vbNewLine&“MPI-END there”
超出=拆分(strid,“MPI-START”)(1)
outstr=拆分(outstr,“MPI-END”)(0)
MsgBox outstr
下面是另一种在vbscript中使用RegEx
提取两个分隔符之间数据的方法:
Option Explicit
Dim Full_String,First_Delimiter,Second_Delimiter,Extracted_Data
Full_String = "a lot of html tags" & vbNewLine &_
"< p data-placeholder=""Your story..."">" & vbNewLine &_
"Hello world!" & vbNewLine &_
"Hello world 2!" & vbNewLine &_
"</ p>" & vbNewLine &_
"a lot of html tags again"
wscript.echo Full_String
First_Delimiter = "< p data-placeholder=""Your story..."">"
Second_Delimiter = "</ p>"
Extracted_Data = ExtractData(Full_String,First_Delimiter,Second_Delimiter)
wscript.echo Extracted_Data
'------------------------------------------------------------------------------------------------
Function ExtractData(Full_String,Start_Delim,End_Delim)
Dim r,Matches,Data
Set r=new regexp
r.pattern = "(?:^|(?:\r\n))(:?"& Start_Delim &"\r\n)([\s\S]*?)(?:\r\n)(?:"& End_Delim &")"
Set Matches = r.Execute(Full_String)
If Matches.Count > 0 Then Data = Matches(0).SubMatches(1)
ExtractData = Data
End Function
'------------------------------------------------------------------------------------------------
选项显式
Dim Full_字符串、第一个_分隔符、第二个_分隔符、提取的_数据
Full_String=“许多html标记”&vbNewLine&_
“”&vbNewLine&_
“你好,世界!”&vbNewLine&_
“你好,世界2!”&vbNewLine&_
“”&vbNewLine&_
“又有很多html标记”
wscript.echo完整\u字符串
第一个分隔符=“
”
第二个分隔符=“”
提取数据=提取数据(完整字符串、第一个分隔符、第二个分隔符)
wscript.echo提取的\u数据
'------------------------------------------------------------------------------------------------
函数ExtractData(完整字符串、开始行、结束行)
尺寸r、匹配、数据
Set r=newregexp
r、 pattern=“(?:^ |)(?:\r\n))(:?“&Start\u Delim&”\r\n)([\s\s]*?)(?:\r\n)(?:“&End\u Delim&”)
Set Matches=r.Execute(完整字符串)
如果Matches.Count>0,则数据=匹配项(0)。子匹配项(1)
提取数据=数据
端函数
'------------------------------------------------------------------------------------------------