对于以下字符串,如果字符串包含主线,则尝试提取“ mainline”;如果不包含主线,则尝试在末尾提取数字。我正在使用Java。

例如,对于以下字符串,我只需要数字结尾

Solaris10NBngp-bwm1.1.X     // want 1.1.x
Solaris10NBbytel2.0.0.0x    // want 2.0.0.0x
Solaris10NBbwm1.2.X         // want 1.2.X
Solaris10NBoam_bwm1.4.0.X   // want 1.4.0X
Solaris10NBoam1.7.X         // want 1.7.X


主线示例:

Solaris10NBngp-bwm_mainline // want mainline
LinuxNBdaypass_mainline     // want mainline
LinuxNBngp_mainline         // want mainline


使用正则表达式是否有可能,如果是这样,有人知道怎么做吗? :-)

最佳答案

Solaris10NBngp-bwm1.1.X     // want 1.1.x
Solaris10NBbytel2.0.0.0x    // want 2.0.0.0x
Solaris10NBbwm1.2.X         // want 1.2.X
Solaris10NBoam_bwm1.4.0.X   // want 1.4.0X
Solaris10NBoam1.7.X         // want 1.7.X


对于以上输入,

expectedString = yourString.replaceAll("[^.]+(\\d+\\.)","$1");

08-25 14:29
查看更多