如何在Java中访问标记化的值

时间:2013-05-21 05:19:37

标签: java

我有标记化字符串,我想从中访问第1,第2,第3个值。

任何人都可以看一下吗?

提前致谢!

这是代码

String cssvalue = webDriver.findElement(By.id(elementId)).getCssValue("color");
String s = cssvalue;
StringTokenizer st = new StringTokenizer(s, ",() ");
while (st.hasMoreTokens()) {

    log.info("TOken: "+st.nextToken());
}

3 个答案:

答案 0 :(得分:1)

这可能会有所帮助:

String cssvalue = webDriver.findElement(By.id(elementId)).getCssValue("color");
String [] s = cssvalue.split("rgb");
StringTokenizer st = new StringTokenizer(s[1], ",() ");
List<Integer> values = new ArrayList<Integer>();
int index=0;
while (st.hasMoreTokens()) {
  values.add(Integer.parseInt(st.nextToken()));
  log.info("TOken: "+values.get(index));
  index++;

}
Integer [] a = values.toArray(new Integer[3]);

答案 1 :(得分:0)

好的,你必须存储前3个令牌:

String cssvalue = webDriver.findElement(By.id(elementId)).getCssValue("color");
String s = cssvalue;
StringTokenizer st = new StringTokenizer(s, ",() ");
ArrayList<String> rgb_lst = new ArrayList<String>();
while (st.hasMoreTokens()) {
    rgb_lst.add(st.nextToken());
    if (rgb_lst.size() == 3) break;
}

或类似的东西。

然后你可以得到rgb_lst [0],rgb_lst [1]和rgb_lst [2]。

答案 2 :(得分:0)

只是为了好玩,因为我认为存储.hasMoreToken值是没有意义的:

String cssvalue = webDriver.findElement(By.id(elementId)).getCssValue("color");
String [] s = cssvalue.split("rgb");
StringTokenizer st = new StringTokenizer(s[1], ",() ");
List<Integer> values = new ArrayList<Integer>();
List<Boolean> more = new ArrayList<Boolean>();
Boolean b;
while (b = st.hasMoreTokens()) {
  values.add(Integer.parseInt(st.nextToken()));
  more.add(b); 
  log.info("TOken: "+values.get(values.size()-1));
}