银河系栋梁 2022-05-30 17:25 采纳率: 0%
浏览 54

为一句话中所有的数字加上指定的单位

别人传给我一句话,里面有数字,但是缺统一的单位,我要加上单位。
例如
输入:油价目前8.6,预计要涨0.4,最终9。
输出:油价目前8.6元/升,预计要涨0.4元/升,最终9元/升。

要写成这样的方法,最好用java写

    /**
     * @param text 缺单位的一句话
     * @param unit 单位
     * @return 加上单位的一句话
     */
    public String addUnit(String text, String unit)

  • 写回答

5条回答 默认 最新

  • qq_25376897 2022-05-30 17:48
    关注

    可以考虑用正则,匹配数字再替换

    
    /**
         * @param text 缺单位的一句话
         * @param unit 单位
         * @return 加上单位的一句话
         */
        public String addUnit(String text, String unit) {
            String pattern = "([1-9]\\d*\\.?\\d*)|(0\\.\\d*[1-9])";
            // 创建 Pattern 对象
            Pattern r = Pattern.compile(pattern);
            // 创建 matcher 对象
            Matcher m = r.matcher(text);
            // 匹配到数据
            while (m.find()) {
                String value = m.group(0);
                // 进行替换
                text = text.replace(value, value + unit);
            }
            return text;
        }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 5月30日