Yoo,
ich will eine Methode schreiben, der ich ein String und ein n übergebe, sodass es n-Gramme aus diesem String erstellt und diese in einer Liste zurückgibt.
Beispiel:
Input: String= "Hallo Berlin, int n= 5
Output: {"Hallo", "allo ", "llo B", "lo Be", "o Ber", " Berl", "Berlin"}
ABER! in Form eines Streams. Ohne Stream habe ich es schon gelöst (s.Code), aber ich muss es als Stream formulieren.
Leider fällt mir keine Möglichkeit ein
Habt ihr vielleicht Ideen?
Viele Grüße,
Noctis
ich will eine Methode schreiben, der ich ein String und ein n übergebe, sodass es n-Gramme aus diesem String erstellt und diese in einer Liste zurückgibt.
Beispiel:
Input: String= "Hallo Berlin, int n= 5
Output: {"Hallo", "allo ", "llo B", "lo Be", "o Ber", " Berl", "Berlin"}
ABER! in Form eines Streams. Ohne Stream habe ich es schon gelöst (s.Code), aber ich muss es als Stream formulieren.
Leider fällt mir keine Möglichkeit ein
Habt ihr vielleicht Ideen?
Viele Grüße,
Noctis
Java:
public static List<String> nGramm(String s, int n) {
s = s.trim();
s = s.replaceAll("\\s+"," ");
if(n>s.length()) {
return null;
}
String finalS = s;
String finalS1 = s;
List<String> newl = new ArrayList<String>();
for(int i = 0; i< finalS.length()-n+1; i++) {
newl.add(finalS1.substring(i,n+i));
}
return newl;
}