我在Excel中使用find和replace函数以及vba代码。我想替换所有字符串,如" / 15" by" .15"但只有在" / 15"没有任何其他字符。我需要一个操作员吗?
例如,如果我替换所有" / 15"如果后跟其他字符,它也会替换此字符串。
10/15/15 - > 15年10月15日
但我想要的是
10/15/15 - > 10 / 15.15
干杯
答案 0 :(得分:0)
你可以使用正则表达式,网上有很多东西。
或者像VBA这样的东西,没有真正需要的a2,可以抓住a1的最后一个,但只是为了向你展示本地窗口中数组的差异。
Function test(strInput As String)
Dim a1() As String
Dim a2() As String
a1 = Split(strInput, "/")
a2 = a1
ReDim Preserve a2(UBound(a1) - 1)
test = Join(a2, "/") & "." & a1(UBound(a1))
End Function
或者可以使用公式
完成 =SUBSTITUTE(A1,"/",".",(LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))))
答案 1 :(得分:0)
我认为你应该使用正确的功能,以避免更换" / 15"在字符串的中间。
Public Function ReplaceRight(strInput As String) As String
If Right(strInput, 3) = "/15" Then
ReplaceRight = Left(strInput, Len(strInput) - 3) & ".15"
Else
ReplaceRight = strInput
End If
End Function
使用Excel公式:
=IF(RIGHT(F215,3)="/15",LEFT(F215,LEN(F215)-3)&".15",F215)