J'ai déménagé dans Selenium WebDriver, et toujours trouver les exemples les plus confus.Java si autre correspondance partielle
Je dois être capable de lire une chaîne de caractères (réussi) exécuter une condition qui demande Si un texte spécifique est présent.
Par souci de ce texte. Je dois faire correspondre sur Jeff, voir le code ci-dessous, aussi longtemps que Jeff existe dans la chaîne, je veux retourner vrai. Si Jeff n'existe pas, alors je vais vérifier oh, disons 50-75 autres noms. Cependant, la chaîne peut contenir leur nom et un texte supplémentaire qui ne peut pas être contrôlé. donc je dois faire un match partiel. Question 1. suis-je foutu et devra construire chaque expression regex dans ce format fou que j'ai vu, ou est-ce que je manque quelque chose d'évident?
Question 2. Est-ce que quelqu'un pour ma santé mentale, s'il vous plaît, montrez-moi la bonne façon de faire correspondre Jeff, avec la possibilité de texte avant et après le nom de Jeff.
Merci!
String oneoff = driver.findElement(By.id("id_one_off_byline"))
.getAttribute("value");
System.out.println("One Off is:" + oneoff);
if (oneoff.matches("Jeff")) {
System.out.println("It is Jeff");
} else {
System.out.println("it is not jeff");
}
Ceci est juste la partie fonctionnelle du code,
La façon d'utiliser 'matches()' dans un contexte contient serait 'if (oneoff.matches (" (. *) Jeff (. *) "));' Je crois? Bien qu'il ne devrait y avoir aucune raison de le faire. – Nashibukasan
Testé et travaillé ... Merci, je pense que ce qui est arrivé est que j'avais essayé contient plus tôt, mais avait une autre syntaxe incorrecte, donc je pensais qu'il avait échoué sur moi. et s'est déplacé sur des allumettes. Je sais que c'était une réponse simple, mais pour certains d'entre nous, cela peut être la pierre d'achoppement! Alors, vraiment, appréciez-le. –
@Nashibukasan oui, pour faire 'match'" trouver "une certaine chaîne à l'intérieur de l'autre chaîne, il devrait être entouré de'. * ', Mais ce serait trop dans cette situation IMHO – Pshemo