Return 分割值

Return splitted value

我在拆分 java 中的值时遇到问题。我有一个字符串,它必须使用 .split() 方法拆分,但我需要 return 这个值。

例如我有这个字符串:

[#ff0000]red[#0000ff]blue

现在我需要你 return 红色值 FF0000,蓝色值 0000FF。

示例:

String str = "[#FF0000]red[#0000FF]blue";
String[] ss = str.split("\[\#([0-9a-f]{6})\]");
for (String s : ss) {
    System.out.println(s);
}

字符串正确拆分,但不知道如何return十六进制值。感谢任何帮助我的人。

如果你能确定你的输入格式,为什么不在 # 个字符处拆分并取每一部分的前六个字符?像

String str = "[#FF0000]red[#0000FF]blue";
String[] ss = str.split("#");
for (String s : ss) {
  if (s.length() >= 6) {
    System.out.println(s.subsstring(0, 6));
  }
}

这显然不是最优雅的解决方案,但它是使用 split 方法实现您所要求的内容的简单方法。

先用 [ 再用 ] 拆分怎么样

String str = "[#FF0000]red[#0000FF]blue";
        String[] ss = str.split("\[");
        String[] sRe = Arrays.copyOfRange(ss, 1, ss.length);

        for (String s : sRe) {
            System.out.println(s.split("\]")[0]);
            System.out.println(s.split("\]")[1]);
        }