我需要比较两个版本#,看看一个是否大于另一个,并且很难做到这一点。
版本 1:test_V10.1.0.a.1@example 版本 2:test_V9.7.0_LS@example
我已经尝试去除所有非数字字符,所以我会留下:
版本1:10101 版本2:970
这会从 10.1.0.a.1 中删除“a”,所以这不好,我尝试在“test_”和“@”之间取所有内容,然后删除下划线“_”和下划线右侧的所有内容本身,但是我仍然必须去掉字符串开头的“V”。
即使我可以降到只有 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。