java - 无法使用正则表达式拆分字符串 java
问题描述
我用正则表达式尝试了下面的代码也无法获得预期的输出:
import java.util.*;
public class test {
public static void main(String args[])
{
String cmd1 = "x509 load 2 -----BEGIN PRIVATE KEY-----\\nMC4CAQAwBQYDK2VwBCIEILl8VJJBDym8m0IL+ksKwCSNGg+fW6VELvozl2lIZx6g\\n-----END PRIVATE KEY-----";
String cmd2 = "x509 load 3 -----BEGIN CERTIFICATE-----\\nMC4CAQAwBQYDK2VwBCIEILl8VJJBDym8m0IL+ksKwCSNGg+fW6VELvozl2lIZx6g\\n-----END CERTIFICATE-----";
List<String> listcmd1 = Arrays.asList(cmd1.split(" "));
List<String> listcmd2 = Arrays.asList(cmd2.split(" "));
System.out.println(listcmd1);
System.out.println(listcmd2);
}
}
输出:
[x509, load, 2, -----BEGIN, PRIVATE, KEY-----\nMC4CAQAwBQYDK2VwBCIEILl8VJJBDym8m0IL+ksKwCSNGg+fW6VELvozl2lIZx6g\n-----END, PRIVATE, KEY-----]
[x509, load, 3, -----BEGIN, CERTIFICATE-----\nMC4CAQAwBQYDK2VwBCIEILl8VJJBDym8m0IL+ksKwCSNGg+fW6VELvozl2lIZx6g\n-----END, CERTIFICATE-----]
预期输出:
[x509, load, 2, -----BEGIN PRIVATE KEY-----\nMC4CAQAwBQYDK2VwBCIEILl8VJJBDym8m0IL+ksKwCSNGg+fW6VELvozl2lIZx6g\n-----END PRIVATE KEY-----]
[x509, load, 3, -----BEGIN CERTIFICATE-----\nMC4CAQAwBQYDK2VwBCIEILl8VJJBDym8m0IL+ksKwCSNGg+fW6VELvozl2lIZx6g\n-----END CERTIFICATE-----]
解决方案
您可以使用limit
参数来拆分:
String cmd1 = "x509 load 2 -----BEGIN PRIVATE KEY-----\\nMC4CAQAwBQYDK2VwBCIEILl8VJJBDym8m0IL+ksKwCSNGg+fW6VELvozl2lIZx6g\\n-----END PRIVATE KEY-----";
String cmd2 = "x509 load 3 -----BEGIN CERTIFICATE-----\\nMC4CAQAwBQYDK2VwBCIEILl8VJJBDym8m0IL+ksKwCSNGg+fW6VELvozl2lIZx6g\\n-----END CERTIFICATE-----";
List<String> listcmd1 = Arrays.asList(cmd1.split(" ", 4));
List<String> listcmd2 = Arrays.asList(cmd2.split(" ", 4));
这样,第四个也是最后一个元素将包含您的整个密钥。
推荐阅读
- apache-superset - 在 Superset 中从 http 更改为 https
- java - 将 GZIP 内容提取到字符串以获取大数据字节 java
- java - 当找到第一个结果时,RxJava 中断并行执行
- php - 未创建错误会话:此版本的 ChromeDriver 仅支持 Chrome 版本 80,安装的 chromedriver 为 85
- angular - 从 Angular 应用程序调用第三方支付 URL
- google-classroom - 如何在您的网站中添加按钮以加入 Google 课堂?
- javascript - 如何使用 next-auth 获取额外的范围数据?
- algorithm - 给定一个数组并将它们分组为可能的总和
- python - globals() 函数在 python 中有奇怪的行为
- python - 如何将输入限制为一系列数字?