XPath, неравнодушный из известного атрибута

Я бы поместил их в HashSet, а затем отфильтровал символы, которых нет в этом наборе.

// put in a nice hash set for speedy lookups.
Set<Character> chars = new HashSet(Arrays.asList('1','2','3'));

// method 1
String foo = "abc123 foo !@#";
String newFoo = "";
for(int i = 0; i < foo.length(); i++){
    char c = foo.charAt(i);
    if(!chars.contains(c)) {
        newFoo += c;
    }
}
System.out.println(newFoo);

// method 2
String result = foo.chars()
        .mapToObj(c -> (char)c)
        .filter(c -> !chars.contains(c))
        .map(c -> String.valueOf(c))
        .collect(Collectors.joining(""));
System.out.println("result is: "+result);
17
задан Ponkadoodle 9 January 2014 в 04:52
поделиться

1 ответ

Выражение XPath должно выглядеть так:

//td[contains(@label, 'Choice 1')]/input

Вы выбираете все элементы td , у которых есть метка, содержащая Вариант 1 , а затем выбираете элементы input внутри этих элементов td .

EDIT : комментарий Томалака правильно предлагает улучшение, предотвращающее совпадение с «Вариантом 11» (или «Вариантом 12345», ...).

36
ответ дан 30 November 2019 в 11:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: