我在Excel中工作以获取错误的URL并替换不正确的字符。我要替换的字符是“%20”但是没有办法知道字符串中有多少个字符。可能只有一个“%20”或5“%20%20%20%20%20”或其间任何其他数量,但无论有多少“%20”字符,我只想用一个替换正斜杠“/”。
我知道我可以使用类似下面的内容,但如果有多个“%20”,则不希望最终使用多个正斜杠
0
例如,起始网址可能如下所示:
http://domainname.com/products/prodName%20%20%20ProdNumber
并且无论中间有多少“%20”,我都试图让它像这样格式化:
http://domainname.com/products/prodName/ProdNumber
有什么方法可以用一个“/”替换所有这些,无论字符串中有多少“%20”?
感谢。
答案 0 :(得分:2)
使用正则表达式(start here)将字符串“%20”的序列替换为一个“/”:
{{1}}
答案 1 :(得分:1)
以下代码将使用单个/替换所有连续%20。它没有使用任何正则表达式。它首先使用分隔符%20分割字符串,然后如果每个数组元素的长度大于0,它将它们与分隔符/。
连接起来。str = "http://domainname.com/products/prodName%20%20%20ProdNumber"
a=Split(str,"%20")
For i=0 To UBound(a)
If Len(a(i))>0 Then
requiredStr = requiredStr & a(i)&"/"
End If
Next
requiredStr=Left(requiredStr,Len(requiredStr)-1)
MsgBox requiredStr
让我知道它是否适合你。
答案 2 :(得分:-1)
只要存在Replace
字符的重复实例,您就可以编写一个递归函数来执行/
调用。自从我编写VBScript以来已经有好几年了,但是我不记得在该语言中内置这种替换类型的函数。