ZiheYe 2024-04-10 16:37 采纳率: 66.7%
浏览 9
已结题

字符串内有多个相同的占位符怎么替换成不同的字符串

比如

String content = "java,py,java";
String var = "C,C++";

把第一个java转换成C,第二个转换成C++,这怎么做

  • 写回答

4条回答 默认 最新

  • 檀越@新空间 2024-04-16 00:31
    关注

    上午好☀️☀️☀️️
    本答案参考ChatGPT-3.5

    可以使用String类的replace方法,结合正则表达式实现占位符的替换。

    具体步骤如下:

    1. 使用String的split方法将字符串按照占位符进行分割,得到一个String数组。

    2. 遍历该数组,使用replace方法将占位符替换成对应的字符串。

    3. 将替换后的字符串拼接成一个新的字符串

    示例代码如下:

    String content = "java,py,java";
    String var = "C,C++";
    String[] varArray = var.split(","); // 将占位符字符串按照逗号分隔成字符串数组
    String[] contentArray = content.split("java"); // 将原字符串按照java分割成字符串数组
    
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < contentArray.length; i++) {
        sb.append(contentArray[i]); // 不管有没有占位符,先将当前字符串加入StringBuilder
        if (i < varArray.length) { // 如果还有占位符需要替换
            sb.append(varArray[i]); // 将对应的字符串加入StringBuilder
        }
    }
    String result = sb.toString();
    System.out.println(result);
    

    输出结果为:C,pyC++

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月6日
  • 已采纳回答 4月28日
  • 创建了问题 4月10日