我需要驗證文件的文本包含以下格式的文本:驗證文件的文本匹配一定的格式
#0
DIRECTION: FORWARD
SPEED: 10
TIME: 10
OR
#1
DIRECTION: REVERSE
SPEED: 10
ROTATIONS: 10
而且這將重複多個步驟。
凡#
必須跟一個數字,DIRECTION
必須跟FORWARD
或REVERSE
,SPEED
必須跟一個數字和最後一行之後,將一些或者TIME
或ROTATIONS
。
我想驗證文件是否包含此格式的文本,並且在開始讀取值之前不會出現一些奇怪的值。
我可以使用某種類型的通配符嗎?我已經開始研究正則表達式,但我之前沒有使用它。
我想什麼做的是做一些類型比較,其中數字是通配符,這樣,我知道,如果行包含的基本格式:
if(fileLines[0].Matches("#%")) // Where % would be the wildcard?
if(fileLines[1].Matches("DIRECTION:%")) // Does something like this exist?
如果您打算檢查格式,然後閱讀我建議在數值中讀取這些值,並在檢查時檢查它們。這樣,如果值不正確,您將能夠提供更簡潔的錯誤消息。 – NominSim
我想在讀取值之前驗證行是否正確。如果這些行不符合要求,我不想讀取該值。 –
爲什麼不使用正則表達式?它們非常適合基本的文本驗證,就像你在這裏試圖實現的一樣。 – qJake