In Java, gegeben eine Zeichenkette, wie "abc @ df", wo das Zeichen "@" ANY anderen Buchstaben sein könnte, wie "%", "^", "&", usw. Was würde der effizienteste Weg, diesen Index zu finden? Ich weiß, dass eine for-Schleife ziemlich schnell wäre (abhängig von der String-Länge), aber was ist mit anderen schnelleren Methoden? Eine Methode, die alle Index (e) von nicht-alphabetischen Buchstaben oder die am nächsten zu einem bestimmten Index (wie indexOf (string, startingIdx)) findet Danke!Java - Wie findet man nicht alphabetische Buchstaben in einer Zeichenkette? (Schneller Weg)
0
A
Antwort
0
Sie sollten wahrscheinlich einen regulären Ausdruck verwenden:
Pattern patt = Pattern.compile("[^A-Za-z]");
Matcher mat = patt.matcher("[email protected]");
boolean found = mat.find();
System.out.println(found ? mat.start() : -1);
1
Eine for-Schleife, können Sie die Zeichenklasse verwenden, um festzustellen, ob jedes Zeichen einen Brief (oder eine andere Art) ist. Siehe: https://docs.oracle.com/javase/7/docs/api/java/lang/Character.html#isAlphabetic(int)
Verwandte Themen
- 1. Java - wie man einen Buchstaben in einer Zeichenkette in ArrayList die doppelte Zeichenkette findet
- 2. umgekehrte alphabetische Zeichenkette in c
- 3. Wie entfernt man Nicht-Buchstaben aus einer Zeichenkette im Skript?
- 4. Wie findet man Ziffern (Ziffern) in einer Zeichenkette mit Twig?
- 5. Behalten Sie nur alphabetische Zeichen (mehrsprachig) in einer Zeichenkette bei
- 6. Wie man die Buchstaben in einer Zeichenkette zählt?
- 7. Wie man keinen Buchstaben von einer Zeichenkette erkennt
- 8. Sortieren Alphabetische Buchstaben Array in aufsteigender Reihenfolge
- 9. Wie man Gläser findet, die eine übereinstimmende Zeichenkette und eine nicht übereinstimmende Zeichenkette in Linux haben
- 10. Java: Der einfachste Weg, um das letzte Wort in einer Zeichenkette zu erhalten
- 11. Wie wählt man zufällig Buchstaben in Java?
- 12. Alle Zeichen außer Buchstaben in einer Zeichenkette entfernen
- 13. Wie findet man das n-te Vorkommen von Zeichen in einer Zeichenkette?
- 14. wie man einen Teil einer Zeichenkette in Java abruft?
- 15. Schneller Weg Stoppwörter in Python
- 16. Wie man durch Buchstaben in einer Zeichenkette in Rust iteriert, um Wörter zusammenzubringen?
- 17. Wie gebe ich einen doppelten Buchstaben in einer Zeichenkette aus?
- 18. java - alphabetische Reihenfolge (Liste)
- 19. Wie ersetze ich einen Buchstaben in einer Zeichenkette ohne .replace In Java
- 20. Ruby on Rails: Wie man eine Zeichenkette für SQL saniert, wenn man nicht findet?
- 21. mongodb- wie man den nächstliegenden Wert schneller findet
- 22. Wie findet man den Index des gegebenen Zeichens der Zeichenkette in der anderen Zeichenkette in c?
- 23. Wie erstelle ich ein Objekt aus einer Zeichenkette in Java (wie man eine Zeichenkette auswertet)?
- 24. Zeichenkette durch Index beziehen - Java
- 25. Wie findet man das erste sich nicht wiederholende Zeichen von einer Zeichenkette?
- 26. Konvertieren von Buchstaben in alphabetische Position in PHP
- 27. SPARQL: Wie findet man ähnliche Strings?
- 28. Filtern einer Zeichenkette unerwünschter Zeichen in Java
- 29. Wie findet man in einer Zeichenkette wie '{$ formLocation}' den 'Location' Teil?
- 30. Wie kann ich alphabetische Buchstaben diagonal mit MASM drucken?
Wenn Sie die Implementierung von indexOf betrachten, würde ich wetten, dass Sie eine Schleife finden würden. Der Vorteil bei der Verwendung wäre, dass Sie die Schleife nicht schreiben müssen, und das ist eine gute Sache, weil der beste Code Code ist, den Sie nicht schreiben. – Bill
@Bill Ich denke, ich habe nicht geklärt. Suchen Sie nach einem Weg, um einen Index eines nicht alphabetischen Zeichens zu finden. Da es eine große Auswahl an nicht-alphabetischen Zeichen gibt, ist es nicht möglich, indexOf() zu verwenden, da Sie das gesuchte Zeichen nicht genau kennen. Hoffe das hilft! – Jsbbvk
Sicher bekomme ich das, was ein Teil des Grundes ist, dass ich einen Kommentar hinterließ, anstatt eine Antwort vorzuschlagen. – Bill