返回拆分值

时间:2015-06-09 18:51:41

标签: java regex split return-value

我在java中拆分值时遇到了问题。我有一个字符串,必须使用方法.split()进行拆分,但我需要返回此值。

例如我有这个字符串:

[#ff0000]red[#0000ff]blue

现在我需要你为红色返回值FF0000,为蓝色返回值0000FF。

示例:

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

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

2 个答案:

答案 0 :(得分:1)

如果您可以确定自己的输入格式,为什么不以#个字符进行拆分并获取每个部分的前六个字符?像

这样的东西
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方法所要求的简单方法。

答案 1 :(得分:1)

首先按[然后拆分]

进行拆分
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]);
        }