J'essaie de faire un peu d'analyse en Java et j'utilise Cobra HTML Parser pour obtenir le HTML dans un DOM puis j'utilise XPath pour obtenir les nœuds que je veux. Quand je descends au niveau souhaité que j'appelle node.getTextContents(), mais cela me donne une chaîne commeJava Inner Text (getTextContents()) Problème
"\n\n\nValue\n-\nValue\n\n\n"
est-il construit dans le moyen de se débarrasser des sauts de ligne? Je voudrais faire une expression régulière comme
(?:\s*([^-]+)\s*-\s*([^-]+)\s*)
sur le texte intérieur et je préfère vraiment ne pas avoir à traiter avec les possibles différents symboles de l'espace blanc entre le texte.
Exemple d'entrée:
Value
-
Value
Merci
je crois (en fait assez sûr) que .Net retourneraient « Value - Valeur » étant donné la même entrée, ce qui a évidemment les sauts de ligne à l'intérieur du nœud. Donc, une meilleure façon de dire cela, est que l'analyseur DOM peut me redonner cette chaîne avec les espaces blancs non pertinents (pour moi au moins)? – LostNomad311
Tout compte fait, je suis plutôt lent. Vous avez raison, les RegExes fonctionnent très bien, pas les miens - en Java. Cependant, Java traite RegEx différemment de .Net et JavaScript. Quoi qu'il en soit, après avoir simplifié le mien, j'ai trouvé que '(?: \ S *) ([^ -] +) (?: \ S *)' est le plus proche de ce que je veux. Ma dernière question, et je l'espère moins compliquée que la précédente, est de savoir comment me débarrasser des espaces de résidus uniques renvoyés par le dernier RegEx (il y a un espace ou un saut de ligne). chaque 'Valeur' dans l'exemple)? – LostNomad311