Java 如何在android中删除字符串中的第一行和最后一行

Java 如何在android中删除字符串中的第一行和最后一行,java,android,string,pem,pki,Java,Android,String,Pem,Pki,如何删除此字符串中的第一行和最后一行 String key = "-----BEGIN PUBLIC KEY-----\n" + "MIGeMA0GCSqGSIb3DQEBAQUAA4GMADCBiAKBgE0JOa5WUcifbDnnQWB2WKOOODwq\n" + "JUxu/7fG2BaynwVRSifljrzGjqpS24R0ss3cZZSKfD2GszG0aVd5T1Yvh4kSOzsx\

如何删除此字符串中的第一行和最后一行

String key = "-----BEGIN PUBLIC KEY-----\n" +
                        "MIGeMA0GCSqGSIb3DQEBAQUAA4GMADCBiAKBgE0JOa5WUcifbDnnQWB2WKOOODwq\n" +
                        "JUxu/7fG2BaynwVRSifljrzGjqpS24R0ss3cZZSKfD2GszG0aVd5T1Yvh4kSOzsx\n" +
                        "arj8QUkfW/EL5ClhDv8LVtkErbTU42QLUUTl5izyKZXaHFdBnJZ8jqXk4AlK22mp\n" +
                        "LcMadrpv7SzQJq1HAgMBAAE=\n" +
                        "-----END PUBLIC KEY-----";

我想要这样的输出字符串

String key ="MIGeMA0GCSqGSIb3DQEBAQUAA4GMADCBiAKBgE0JOa5WUcifbDnnQWB2WKOOODwq
    JUxu/7fG2BaynwVRSifljrzGjqpS24R0ss3cZZSKfD2GszG0aVd5T1Yvh4kSOzsx
    arj8QUkfW/EL5ClhDv8LVtkErbTU42QLUUTl5izyKZXaHFdBnJZ8jqXk4AlK22mp
    LcMadrpv7SzQJq1HAgMBAAE="

如果是静态的,您可以这样做:

key = key.replace("-----BEGIN PUBLIC KEY-----", "");
key = key.replace("-----END PUBLIC KEY-----", "");

如果不是,您可以使用
\n
上的
split()
方法,然后只保留中心字符串如果是静态的,您可以这样做:

key = key.replace("-----BEGIN PUBLIC KEY-----", "");
key = key.replace("-----END PUBLIC KEY-----", "");

如果不是,您可以使用
\n
上的
split()
方法,然后保留中心字符串,如果它存储在一个字符串中,您只需调用

String [] strArr = str.split("\\n");

现在忽略strArr[0]和strArr[strArr.length-1],并获取其余部分。

如果它存储在字符串中,您只需调用

String [] strArr = str.split("\\n");
现在忽略strArr[0]和strArr[strArr.length-1],并获取其余部分。

因为这两个“----开始公钥------”和这两个“----结束公钥------”是 始终具有恒定的长度,您可以使用子字符串

String key = "-----BEGIN PUBLIC KEY-----" +
            "MIGeMA0GCSqGSIb3DQEBAQUAA4GMADCBiAKBgE0JOa5WUcifbDnnQWB2WKOOODwq" +
            "JUxu/7fG2BaynwVRSifljrzGjqpS24R0ss3cZZSKfD2GszG0aVd5T1Yvh4kSOzsx" +
            "arj8QUkfW/EL5ClhDv8LVtkErbTU42QLUUTl5izyKZXaHFdBnJZ8jqXk4AlK22mp" +
            "LcMadrpv7SzQJq1HAgMBAAE=" +
            "-----END PUBLIC KEY-----";
    String result;
    result = key.substring(26,key.length()-24);
因为这个“----开始公钥------”和这个“----结束公钥------”是 始终具有恒定的长度,您可以使用子字符串

String key = "-----BEGIN PUBLIC KEY-----" +
            "MIGeMA0GCSqGSIb3DQEBAQUAA4GMADCBiAKBgE0JOa5WUcifbDnnQWB2WKOOODwq" +
            "JUxu/7fG2BaynwVRSifljrzGjqpS24R0ss3cZZSKfD2GszG0aVd5T1Yvh4kSOzsx" +
            "arj8QUkfW/EL5ClhDv8LVtkErbTU42QLUUTl5izyKZXaHFdBnJZ8jqXk4AlK22mp" +
            "LcMadrpv7SzQJq1HAgMBAAE=" +
            "-----END PUBLIC KEY-----";
    String result;
    result = key.substring(26,key.length()-24);

-----开始公钥------&------结束公钥------这是静态的吗..?将其拆分为一个数组,然后删除第一个和最后一个元素,然后将此数组转换为字符串如果您这样做了,并且它工作了,那么您做得不对。Java中的字符串文字不能有换行符。到目前为止您尝试了什么?@DevTamil-您还没有解释您试图通过所有这些实现什么。您是否真的将一位Java源代码转换为另一位Java源代码?如果是,目的是什么。如果我们不明白你在这里真正想做什么,很难给你建议。请不要再说“这是一个动态字符串”。它没有告诉我们任何事情。(首先,Java源代码中的字符串文字不是动态字符串。)-----开始公钥------&&-----结束公钥------这是静态的吗?将其拆分为一个数组,然后删除第一个和最后一个元素,然后将此数组转换为字符串如果您这样做了,并且它工作了,那么您做得不对。Java中的字符串文字不能有换行符。到目前为止您尝试了什么?@DevTamil-您还没有解释您试图通过所有这些实现什么。您是否真的将一位Java源代码转换为另一位Java源代码?如果是,目的是什么。如果我们不明白你在这里真正想做什么,很难给你建议。请不要再说“这是一个动态字符串”。它没有告诉我们任何事情。(首先,Java源代码中的字符串文字不是动态字符串。)