1
我必須解析一個巨大的文件,但其中一個值導致我很多悲傷。Excel中的正則表達式VBA特殊字符和嵌入式空間
它是六個字符的固定長度的字段。允許值的描述爲:
左對齊;空間充滿。不能包含特殊字符或嵌入空格。如果數據不可用,則填充空間。
我迄今爲止嘗試是檢查:
If Code = " " Then
MsgBox "Code is Space Filled."
這將檢查它是否是一個充滿整個空間,這是確定的。
接下來,我檢查是否存在使用下面的函數的任何特殊字符:
With ObjRegex
.Global = True
.Pattern = "[^a-zA-Z0-9\s]+"
StripNonAlpha = .Replace(Replace(TextToReplace, "-", Chr(32)),
End With
我可以比較兩個字符串,原代碼和剝離的特殊字符之一。如果它們不匹配,則它包含一個特殊字符並且無效。
這是造成我問題的空間。我必須檢查左對齊(沒有前導空格後跟字符)並且沒有嵌入空格,尾隨空格是可以的。
我已經嘗試了上述功能的一些變化,但無濟於事。
例如(錯誤):
(^\sa-zA-Z0-9\sa-zA-Z0-9)+
我將不勝感激任何指針。如果有更多的「所有在一個」正則表達式,更有意義,這將是偉大的,如果正則表達式是錯誤的路要走,我比愉快高興放棄它們。
非常感謝你的是,我會從這裏開始工作,但說實話,它看起來非常棒。它總是六個字符,如果有任何遺漏,整個文件已損壞,甚至不會開始應用。 :) – RossC 2014-08-28 09:40:57