我需要比較兩個版本#來查看一個是否比另一個更大,並且這麼做是非常困難的。如何比較版本號的字符串內?
版本1:[email protected] 版本2:[email protected]
我試圖剝離所有非數字字符出來,所以我會留下:
版本1:10101 版本2:970
從10.1.0.a.1中刪除'a',這樣就不行了,我嘗試了'test_'和'@'之間的所有內容,然後剝去任何東西在下劃線'_'和下劃線本身的右側,但是我仍然必須在str的開始處去掉'V' ING。
即使我可以下降到只是10.1.0.a.1和9.7.0,我怎麼能比較這兩個?我怎麼知道10.1.0.a.1是否大於9.7.0?如果我將小數位去掉,我仍然在1010a1中留下一個非數字字符,但是我需要那個字符來說明我將這個比較的發佈版本是10.1.0.b.1,這將會大於10.1.0.a.1。
這使我瘋了,有沒有人處理過這個?你是如何比較價值的?我使用的是PHP。
+1簡單而有效的解決方案 – Scuzzy 2012-04-18 02:00:50
所有的解決方案,將工作,但這是最好的,因爲我可以什麼都前檢查「基地」版本,如果基本版本是同樣,我會繼續深入該版本。我只希望PHP會比較單個字母字符(如b> a返回true) – user797963 2012-04-18 21:14:46