2017-09-18 44 views
0

我正在使用ExamDiff來比較兩個逗號後面沒有空格的* .csv文件。文件中的數字包含2到8個小數位,但我只想評估小數點後的前3位數 - 超過第1,000個位置的任何值都不重要。
ExamDiff允許您使用正則表達式來忽略行的某些部分,所以我正在使用:(\d{1,4}\.)來確定數字字符串(但也忽略它在這些情況下正確)。
下面是來自CSV的樣本行:如何評估數字中小數點後的數字?

VQ000009,B2,B3,VV,12.0000,0.23,1.0000,1.0000000000,1357.421

而這裏的新CSV可比行:

VQ000009,B2,B3,VV,12.0000,0.27,1.0009,1.0000000000,1357.431

所以,在這個EXA mple 0.23和0.27會標誌的1.0000和1.0009將標誌和1357.421和1357.431會標誌

+0

你能舉出更多的例子嗎?不清楚你想達到什麼。你想忽略什麼2-3位數字? –

+0

@RajeevRanjan編輯另一個例子。 – Sam

+0

'\ d {1,4} \。\ d {3}' - 此模式應該有所幫助。它將在十進制後僅捕獲3個地方,其中不允許不匹配。 –

回答

1

爲多少Boost庫的支持網站是不明確的,但如果完全PCRE支持,您可以使用此忽略:

(?<=\.\d{3})\d+ 

這是說相匹配的是由.和3位之前的任何數字。請注意,如果你有類似VQ.123456456將匹配並被忽略。流浪.會導致問題。

+0

非常感謝你;那完美的工作。 – Sam