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

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

别人传给我一句话,里面有数字,但是缺统一的单位,我要加上单位。
例如
输入:油价目前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日

悬赏问题

  • ¥15 有没有可以帮我搞一个微信建群链接,包括群名称和群资料群头像那种,不会让你白忙
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题