zoukankan      html  css  js  c++  java
  • JAVA编码 —— 字符串关键字内容替换

    前言

    工作中,我们可能遇到字符串内容替换的场景。例如:我们需要将一个字符串凡是 “#” 标注的,分别替换为不同的内容,那我们应该怎么做呢?

    分析,一个字符串可能含有多个“#”,每个 “#”又对应不同的值,那么我们需要替换的内容应该是一个不定的参数类型,要做这些离不开循环操作。

    好了,做完以上的简单分析,我们直接就可以进行编码了。

    /**
         * 字符串内容替换
         *
         * @param str  要替换的字符串
         * @param v    被替换的关键字
         * @param args 要替换的内容
         * @return
         */
        public static String strReplace(
                String str,
                String v,
                String... args) {
            if (!isEmpty(str)) {
                int n = 0;
                int a = args.length;
                while (str.contains(v)) {
                    if (n >= a) {
                        break;
                    }
                    str = str.replaceFirst(
                            v,
                            args[n]
                    );
                    n++;
                }
            }
            return str;
        }

      
    public static void main(String[] args) {
    String str = "{"v1":"#","v2":"#"}";
    String s = strReplace(str, "#", "111", "222");
    System.out.println(s);
    }

    中间有个 isEmpty 非空判断方法:

    /**
         * 判断一个对象是否为空
         *
         * @param obj 对象
         * @return Boolean
         */
        public static boolean isEmpty(Object obj) {
            if (obj instanceof String) {
                obj = obj.toString().trim();
            }
            if (("").equals(obj) || null == obj || "null".equals(obj) || obj.equals(null)) {
                return true;
            }
            return false;
        }

    输出:

  • 相关阅读:
    js排序算法01——冒泡排序
    Math Issues
    2017年终总结
    js中的真值和假值
    element UI 中DateTimePicker 回传时间选择
    Equal Sides Of An Array
    javascript数组总结(0504)
    ajax生成html双引号问题
    关于php ci框架ie浏览器路径问题
    ie提示jquer缺少标识符,字符串或数字
  • 原文地址:https://www.cnblogs.com/xushuyi/p/10656576.html
Copyright © 2011-2022 走看看