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;
        }

    输出:

  • 相关阅读:
    Shell需注意的语法问题
    iconv编码转换
    使用cocos创建的项目,如何进行源码调试?
    git切换到远程分支
    在 Git 中 Checkout 历史版本
    JAVA keytool 使用详解
    JAVA调用 keytool 生成keystore 和 cer 证书
    写出好的 commit message
    JAVA
    面试中关于Java你所需知道的的一切
  • 原文地址:https://www.cnblogs.com/xushuyi/p/10656576.html
Copyright © 2011-2022 走看看