MISE À JOUR: J'ai deux chaînes.
String a = "is am are has have was " //Helping verbs String b= " Robert and william are English Robert has a car he was living in England " //Sentence
4 Réponses :
String a = "one two three four five six ";
String b= " eleven two four twelve thirteen " ;
List<String> aSub = Arrays.asList(a.split(" "));
List<String> bSub = Arrays.asList(b.split(" "));
for(String s1 :aSub){
for(String s2 :bSub){
if(s1.equalsIgnoreCase(s2)){
System.out.println( s1+" exists and is found in index "+ bSub.indexOf(s1));
}
}
}
result:
two exists and is found in index 2
four exists and is found in index 3
Existe: Existe et se trouve dans l'Index 3 existe et se trouve dans l'Index 6 existait et se trouve dans l'index 10 Bread 10 Bread Brew (Temps total: 4 secondes)
Un moyen facile de diviser la chaîne serait d'utiliser la classe StringTokenizerzer
//Big O of N*N solution
class SubString{
public static void main(String [] args)
{
System.out.println(new SubString().getCommonSubString("abcdefg","zycdemm"));
}
public int getCommonSubString(String A, String B)
{
int ans =0;
for(int i=0;i<A.length();i++)
{
int c=0;
int k =i;
for(int j=0;k<A.length()&&j<B.length();j++)
{
if(A.charAt(k)==B.charAt(j))
{
c++;
ans = Math.max(ans, c);
k++;
}else
{
c=0;
k=i;
}
}
}
return ans;
}
}
Ce code résultat: Exception dans le fil "Main" Java.lang.stringindexoutofboundsException: Indice de chaîne hors de portée: 23 à java.base / java.lang.stringlatin1.charat (StringLatin1.java:48) à Java.Base / Java. lang.string.chardat (string.java:709)
Veuillez trouver le code ci-dessous: - sortie: - p> {1 = 1, 3 = 2} p>
blockQuote> p>
FindHelpingverbs (String [] A, String [] B) {Carte
Envoyez-vous la même entrée que vous avez fait dans la question?
S'il y a une autre entrée, veuillez me l'envoyer.
Oui, le résultat que vous obtenez par votre code est {2 = 3, 3 = 6, 5 = 10}
Est-ce la réponse que vous vouliez?
Run: {2 = 3, 3 = 6, 5 = 10} Construire réussi (temps total: 0 secondes)
Ce sont tous des correspondances à la fois. Je veux ce processus un par un. Lorsque la première sous-chaîne de "String A" est trouvée dans "String B", obtenez la sous-chaîne précédente si elle est trouvée (exception: index 0 sous-chaîne) et ensuite sous la sous-chaîne et faites des relations dans n'importe quelle source de données comme AST. Si les doublons ont constaté qu'ils se fusionneront dans la sous-chaîne existante.