如果文本字符串中包含的某些词,包裹这些话在span标记(If text string contain

2019-10-22 12:46发布

寻找一些帮助这里。 我有一个文本字符串,如:

> ...And The World Laughs With You (feat Thom Yorke)

随着vbscript ,如果文本字符串中有"(feat "在里面,我想包装在span标记整个括号中的文字。
所以,上面的例子将如下所示:

> ...And The World Laughs With You <span>(feat Thom Yorke)</span>

希望这是有道理的,谢谢你提前的帮助!

干杯,
德鲁

Answer 1:

尝试用这种逻辑。

     dim str 
   str = "And The World Laughs With You (feat Thom Yorke)"

   If  INSTR(str,"(feat ") > -1 Then
        str = REPLACE(str,"(feat ","<span>(feat ") 
        str = REPLACE(str,")",")</span>") 
   End If

   Response.Write("Result:- "  + str)  


Answer 2:

见例子。

Set Arg = WScript.Arguments
set WshShell = createObject("Wscript.Shell")
Set Inp = WScript.Stdin
Set Outp = Wscript.Stdout

Sub ReplaceCmd
    'Remove ^ from quoting command line. Quote, ampersand and brackets
    Pttn = Replace(Arg(2), "^(", "(")
    Pttn = Replace(Pttn, "^)", ")")
    Pttn = Replace(Pttn, "^&", "&")
    Pttn = Replace(Pttn, "^""", """")
    Set regEx1 = New RegExp
    If Instr(LCase(Arg(1)), "i") > 0 then
        regEx1.IgnoreCase = True
    Else
        regEx1.IgnoreCase = False
    End If 
    regEx1.Global = False
    regEx1.Pattern = Pttn 
    Do Until Inp.AtEndOfStream
        Line=Inp.readline
        Line = RegEx1.Replace(Line, Arg(3)) 
        outp.writeline Line
    Loop
End Sub

使用cscript scriptname <infile >outfile

更换

filter replace {i|n} expression replace
filter repl {i|n} expression replace

查找并使用正则表达式替换文本。

也用于从文件中提取子。

&符号和括号中的表达式必须以插入符号进行转义。 不要逃避插入符号。 利用行情的十六进制代码\ X22。

SearchOptions

我 - 忽略大小写N - 无表达

正则表达式参考

更换

要替换的文本。 使用$ 1,$ 2,$ ... $ n指定替换字符串中的子场比赛

filter replace i "=" "No equal sign" < "%systemroot%\win.ini"

这种搜索方括号内的文字和替换猫行,然后括号内的文字

Filter replace i "^\[^(.*^)\]" "cat$1" < %windir%\win.ini

这种搜索任何文本,打印从11字符到行的末尾。

Filter replace i "^.{10}^(.*^)$" "$1" < %windir%\win.ini

这将搜索CSV文件和打印第二和第四场

Filter replace i "^.+,^(.+^),.+,^(.+^)$" "$1,$2" < csv.txt


文章来源: If text string contains certain words, wrap those words in a span tag