Wie um zu überprüfen, ob ein string wäre ein Gültiger java-variable?
Wie kann ich am besten überprüfen, ob ein string-input, wäre ein Gültiger java-Variablen für die Codierung? Ich bin sicher, ich bin nicht der erste, der bereit ist, dies zu tun. Aber vielleicht fehlt mir das richtige Stichwort, etwas nützliches zu finden.
Besten wäre wahrscheinlich ein RegEx, das überprüft, ob:
-
beginnt mit einem Brief
-
können, dann enthalten Sie Ziffern, Buchstaben
-
enthalten einige spezielle Zeichen wie '_' (was?)
- enthalten möglicherweise keine Leerzeichen Trennzeichen
- Ich Frage mich, warum Sie das brauchen...
- Die automatische code-Generierung (oder Validierung)?
- stackoverflow.com/questions/11774099/legal-identifiers-in-java
- Jan: Das ist eine ganz andere Frage.
- Ich habe wieder geöffnet, weil die scheinbare doppelte war in der Tat nicht, eine doppelte.
- Wenn Ihr mit Java 6+, betrachten
javax.lang.model.SourceVersion
Klasse. Hat es Methoden für solche Sachen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
EDIT: und wie @Joey zeigt, sollten Sie auch herausfiltern Schlüsselwörter und reservierte Wörter.
true
,false
undnull
. Sie müssen verboten werden. Aber ja, sonst ist genau das, was die Skillung vermuten lässt 😉)
auf den ersten wenn. auch ein_
im string würde die Reise der code, wie es nicht mit einem zweiten Charakter_
. Aber ich denke mal for-Schleife-Bedingung-check erfolgt vor der ersten iteration, auch.Verwenden Sie einfach die integrierten
isName
Methode:Dieser gibt an, ob ein name ist syntaktisch gültig, qualifizierte Namen in den neuesten Quelle-version.
Sehen die isName() Dokumentation.