抱歉标题,但愚蠢的事情不接受任何事情。 我很想做到这一点
Dim myString, myResult
myString = "Hello World! 1234 Hello World! 4321 Hello World! 6789"
Set myRegex = New RegExp
myRegex.Global = true
myRegex.IgnoreCase = true
myRegex.Pattern = "([0-9]+)"
myResult = myRegex.Replace(myString, StrReverse("$1"))
我希望所有数字都能反转 我希望字符串看起来像这样 “Hello World!4321 Hello World!1234 Hello World!9876” 但我得到的只是“1 $”
谢谢: - )
答案 0 :(得分:2)
您可以使用replacement function:
执行此操作Function Reverse(m, pos, src)
Reverse = StrReverse(m)
End Function
Set re = New RegExp
re.Pattern = "\d+"
re.Global = True
s = "Hello World! 1234 Hello World! 4321 Hello World! 6789"
WScript.Echo re.Replace(s, GetRef("Reverse"))
输出:
Hello World! 4321 Hello World! 1234 Hello World! 9876
只是调用re.Replace(s, StrReverse("$1"))
无效,因为在此语句中,StrReverse
会在调用re.Replace()
之前反转字符串“$ 1”。