2015-06-09 43 views
0

我在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); 
} 

字符串正确分割,但不知道怎么回的十六进制值。感谢任何人来帮助我。

+0

你有什么'split'调用的输出[再由分裂] – user35443

+1

为什么你必须使用'split'? – hwnd

+1

你的意思是“*我需要你为红色返回FF0000值,蓝色值为0000FF”?你能否举例说明你将如何使用这段代码,以及你需要我们帮助你的部分? – Pshemo

回答

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]); 
     } 
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方法。

+0

这不是一个答案,而是一个评论。 – user35443