Extrait de la différence entre deux chaînes de caractères en Java
Salut, j'ai deux chaînes :
String hear = "Hi My name is Deepak"
+ "\n"
+ "How are you ?"
+ "\n"
+ "\n"
+ "How is everyone";
String dear = "Hi My name is Deepak"
+ "\n"
+ "How are you ?"
+ "\n"
+ "Hey there \n"
+ "How is everyone";
Je veux obtenir ce qui n'est pas présent dans la entendre chaîne "salut \n". J'ai trouvé une méthode , mais il ne parvient pas pour ce cas :
static String strDiffChop(String s1, String s2) {
if (s1.length() > s2.length()) {
return s1.substring(s2.length() - 1);
} else if (s2.length() > s1.length()) {
return s2.substring(s1.length() - 1);
} else {
return "";
}
}
Quelqu'un peut-il aider ?
Je pense à une autre approche peut être fractionné de Chaîne en fonction de l'espace et puis boucle sur chaque élément?
Oui Nambari, Merci . C'est ce que j'ai fait .
Oui Nambari, Merci . C'est ce que j'ai fait .
OriginalL'auteur N Deepak Prasath | 2013-08-20
Vous devez vous connecter pour publier un commentaire.
google-diff-match-patch
Il y a un Ligne ou mot de diff page wiki qui explique comment le faire ligne par ligne de diff.
Quelle merveilleuse lib. Merci.
OriginalL'auteur Mike Samuel
On peut utiliser le
StringUtils
de Apache Commons. Voici la StringUtils API.OriginalL'auteur Fly
convertir la chaîne de listes et ensuite utiliser la méthode suivante pour obtenir le résultat Comment faire pour supprimer des valeurs communes à partir de deux tableau liste
OriginalL'auteur Aditya Rai
J'ai utilisé le StringTokenizer de trouver la solution. Ci-dessous l'extrait de code
OriginalL'auteur VJ THAKUR
Vous devez utiliser StringUtils de Apache Commons
OriginalL'auteur gurbieta
Je cherchais une solution, mais ne pouvait pas trouver celui dont j'avais besoin, j'ai donc créé une classe utilitaire pour comparer deux versions d'un texte - nouveaux et anciens - et la suite du texte avec les modifications entre les balises [ajouté] et [supprimé]. Il peut être facilement remplacé par le marqueur de vous choisir à la place de cette balises, par exemple: une balise html. chaîne-version-comparaison
Tous les commentaires seront appréciés.
*il pourrait ne pas bien fonctionné avec texte long en raison de la hausse de la probabilité de trouver même des phrases comme supprimé.
OriginalL'auteur ahanook
Si vous préférez ne pas utiliser une bibliothèque externe, vous pouvez utiliser le Java suivant extrait efficacement calculer la différence:
Cette approche est à l'aide de la programmation dynamique. Il essaie toutes les combinaisons dans une attaque par force brute façon, mais se souvient déjà calculés sous-chaînes et, par conséquent, s'exécute en O(n^2).
Exemples:
OriginalL'auteur jjoller
à propos de cet extrait ?
String.contains()
serait un échec si le contenu du texte en cours d'appariement ont ses lignes ré-arrangé.OriginalL'auteur N Deepak Prasath