Java : Replacing Last character of a String and First character of the String

标签 java

我想手动添加两个 java JSON 字符串,因此为此我需要删除 "}" 并将其替换为第一个 JSON 字符串的逗号 "," 和删除第二个 JSON String 的第一个 "{" 。 这是我的程序

import java.util.Map;
import org.codehaus.jackson.type.TypeReference;
public class Hi {
    private static JsonHelper jsonHelper = JsonHelper.getInstance();
    public static void main(String[] args) throws Exception {

        Map<String, Tracker> allCusts = null;

String A = "{\"user5\":{\"Iden\":4,\"Num\":1},\"user2\":{\"Iden\":5,\"Num\":1}}";

String B = "{\"user1\":{\"Iden\":4,\"Num\":1},\"user3\":{\"Iden\":6,\"Num\":1},\"user2\":{\"Iden\":5,\"Num\":1}}";

        String totalString = A + B;
        if (null != totalString) {
            allCusts = (Map<String, Tracker>) jsonHelper.toObject(
                    totalString, new TypeReference<Map<String, Tracker>>() {
                    });

        }
        System.out.println(allCusts);
    }
}

将两个字符串 A + B 相加时

我想删除 A 中“}”的最后一个字符并将其替换为“,”,并删除 B 中“{”的第一个字符。

所以这应该是这样的。

String A = "{\"user5\":{\"Iden\":4,\"Num\":1},\"user2\":{\"Iden\":5,\"Num\":1},";

String B = "\"user1\":{\"Iden\":4,\"Num\":1},\"user3\":{\"Iden\":6,\"Num\":1},\"user2\":{\"Iden\":5,\"Num\":1}}";

我已经尝试过

String  Astr = A.replace(A.substring(A.length()-1), ",");
String  Bstr = B.replaceFirst("{", "");

String totalString =  Astr + Bstr ;

有了这个我就得到了

线程“main”中的异常java.util.regex.PatternSyntaxException:非法重复

请提出建议。

最佳答案

{ 是正则表达式的控制字符,从replaceFirst开始将正则表达式的字符串表示形式作为其第一个参数,您需要对 { 进行转义,以便它不被视为控制字符:

String  Bstr = B.replaceFirst("\\{", "");
<小时/>

我想说,使用替换方法在这里确实有点矫枉过正,因为您只是想从字符串的任一端截掉一个字符。这应该同样有效:

String totalString = A.substring(0, A.length()-1) + "," + B.substring(1);

关于Java : Replacing Last character of a String and First character of the String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13225910/

相关文章:

java - 将 java 转换为 actionscript 以使用 flash builder 有多容易?

java - Logback JMSAppender 不清理与 ActiveMQ 的连接

java - 如何在使用 hadoop 时使用记录器 api 编写 java 日志文件

java - 如何从 HandlerInterceptorAdapter 检索 modelAttribute

java - 使用 JUnit 运行 Spring 时出现问题

java - 在java中更新SQL镜像

java - Android相机应用程序: Capture button not working?

java - 如果 Andengine 项目的源代码适用于 Android,我如何将其作为 Java 应用程序运行?

java - 如何将 "onchange"SimpleAttributeModifier 添加到 Apache Wicket 中的 DropDownChoice

java - 为什么 Hibernate 不填充这个外键列