Regex 十进制数后跟一个';E';VBA Excel中的正则表达式
我必须在Excel中获取所有条目,这些条目都有一个十进制数字或数字后跟一个“E”。例如:9E、5.6E、6.78E 之后,我将删除该字母进行另一次计算 我有密码:Regex 十进制数后跟一个';E';VBA Excel中的正则表达式,regex,excel,vba,Regex,Excel,Vba,我必须在Excel中获取所有条目,这些条目都有一个十进制数字或数字后跟一个“E”。例如:9E、5.6E、6.78E 之后,我将删除该字母进行另一次计算 我有密码: Dim strEarlyOut As String strEarlyOut = "(\d+\.?\d*)([E])" Dim regEx As New RegExp Set regEx = CreateObject("vbscript.regexp") With regEx .IgnoreCase = False
Dim strEarlyOut As String
strEarlyOut = "(\d+\.?\d*)([E])"
Dim regEx As New RegExp
Set regEx = CreateObject("vbscript.regexp")
With regEx
.IgnoreCase = False
.MultiLine = False
.Pattern = strEarlyOut
End With
If regEx.Test(DayWeek1(x)) Then
MsgBox "Day " & x & ": Early out!"
'Remove 'E' for computation
NewDayWeek1(x) = Replace(DayWeek1(x), "E", " ")
End If
问题是,在运行代码时,会出现以下条目:
8.90EEE,7EL,6.5LEEE,只要它有'E'和任意数量的'E'等于TRUE,我不想发生这种情况
我的模式有什么问题?我已经测试过这样制作模式:(\d+。?\d*)([E]{1})”
高级感谢。表达:
^\d+\.?\d*?E$
这将匹配结尾只有一个“E”的字符串。VBA不是VB.NET。使用正确的标签联系正确的听众Hello。我犯了一个错误。谢谢你的更正,史蒂夫。:)@史蒂夫