split分割- 忽略数字中的-

img


将一段话 以-分割 但是得忽略数字中的- 该怎么写呢 例如下面那段话
井口-5-2煤辅运22联巷200米-北二盘4-2煤辅运斜巷与2段交接处-北二盘辅运斜巷风门里600米处-北二盘4-2煤辅运斜巷与2段交接处-44205辅运19联巷-北二盘4-2煤辅运斜巷与2段交接处-北二盘辅运斜巷风门里600米处-北二盘4-2煤辅运斜巷与2段交接处-44205辅运19联巷-北二盘4-2煤辅运斜巷与2段交接处-5-2煤辅运22联巷-井口


String str = "井口-5-2煤辅运22联巷200米-北二盘4-2煤辅运斜巷与2段交接处-北二盘辅运斜巷风门里600米处-北二盘4-2煤辅运斜巷与2段交接处-44205辅运19联巷-北二盘4-2煤辅运斜巷与2段交接处-北二盘辅运斜巷风门里600米处-北二盘4-2煤辅运斜巷与2段交接处-44205辅运19联巷-北二盘4-2煤辅运斜巷与2段交接处-5-2煤辅运22联巷-井口";
        str = str.replaceAll("([0-9])-([0-9])", "$1@$2");
        String[] strs = str.split("-");
        for(int i=0;i< strs.length;i++){
            strs[i] = strs[i].replaceAll("@", "-");
            System.out.println(strs[i]);
        }

你先正则匹配数字-数字
把-替换成别的符号
然后分割
然后再把数字里的-替换回来
你这拼接数据之前没有考虑后期怎么处理方便,导致信息都混杂在一起