public class WhatTheHell
{
public static void main(String[] args) throws FileNotFoundException
{
Scanner scanner = new Scanner(new File("what.txt"));
List<String> list = new ArrayList<>();
while(scanner.hasNext())
{
list.add(scanner.next());
}
for(int i = 0; i < list.size(); i++)
{
System.out.println(list.get(i) + "Nr.: " + i);
}
String asterix = "Asterix";
int index = 0;
for(String s : list)
{
if(s.equalsIgnoreCase(asterix))
{
index = list.indexOf(s);
break;
}
}
System.out.println(index);
}
}
/** Output */
mumuNr.: 0
gangNr.: 1
bangNr.: 2
asterixNr.: 3
fuckNr.: 4
motherfuckerNr.: 5
sugarNr.: 6
somethingNr.: 7
3
Ersetzen eines Asterix in einem String
return str.replaceAll("Asterix", "Obelix");
Was hast Du für Textdateien auf Deinem Rechner?!?mumuNr.: 0 gangNr.: 1 bangNr.: 2 asterixNr.: 3 fuckNr.: 4 motherfuckerNr.: 5 sugarNr.: 6 somethingNr.: 7
Was hast Du für Textdateien auf Deinem Rechner?!?
Das erklärt einiges...
Ich glaub er meint mit Asterix das Sternchen "*". Ansonsten kannst du auch andere replace-Methoden vom String benutzt, wie z.B. replace, replaceFirst oder replaceAll. Je nachdem was du erreichen willst.Java:return str.replaceAll("Asterix", "Obelix");
LOL, ja das war eine Anspielung darauf, dass er eigentlich "asterisk" meint Um alle Vorkommen des einzelnen Zeichens zu ersetzen, bietet sich String#replace an. Bei replaceAll und replaceFirst muss man ein wenig aufpassen, da der Suchstring ein regulärer Ausdruck sein muss.Ich glaub er meint mit Asterix das Sternchen "*"
public static List<String> find(String unescapedRegex, List<String> l) {
String rx = unescapedRegex.replaceAll("\\*", "\\.*");
return l.stream().filter(s -> s.matches(rx)).collect(Collectors.toList());
}
public static void main(String[] args) {
System.out.println(find("h*l", List.of("hallo", "Du da", "hoffentl", "ich", "ist alles", "heiter bis toll")));
}