Java: substring.Spiele zahlen
Ich versuche zu prüfen, ob eine meiner substring innerhalb meiner teleInput string zahlen enthalten, aber ich kann nicht scheinen, um es true zurück. Die Ergebnisse am Ende immer als false, was mache ich falsch.
String teleInput = "(555)555-5555";
boolean returntT = teleInput.substring(1,3).matches(".*[0-9].*");
Ich bin ein extremer Anfänger also ich weiß nicht, ob ich etwas fehlt offensichtlich, wie das mischen von Methoden oder vielleicht etwas falsch ist mit dem rest von meinem code, oder so, ich würde wirklich zu schätzen die Hilfe!
- Dies könnte interessant für Sie sein stackoverflow.com/questions/3507162/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dein problem ist dein substring - Sie sind nur zurückgeben zwei Zeichen: der zweite parameter ist der index bis, aber nicht einschließlich dem letzten Zeichen. 3 Zeichen, die Sie benötigen:
Also versuchen Sie diese (beachten Sie, dass Streichhölzer muss nur schauen, dass es "alle Ziffern", weil die Länge wird schon wissen, zu 3):
Oder einfach nur vergessen, substring und Streichhölzer allein:
Ist der regex für "beliebige Zeichen, dann 3 Ziffern, dann ist alles".
Aber Sie kann die Validierung der gesamten Eingabe in einer Zeile:
Haben Sie vielleicht zu Lesen, auf regex zu verstehen, dieses Muster, aber es funktioniert!
Hinweis: matches() muss mit dem gesamte string, um wahr zu sein.
Wenn Sie überprüfen möchten, wenn das 2. Zeichen im string ist die Nummer, Sie können es so machen:
Statt dieser Zeile:
Sollten Sie tun:
ODER so:
Regex
[0-9]+
wird, stellen Sie sicher, dass der Eingang hat sich nur um 1 oder mehr Ziffern in es. Für gutes tutorial über regex gelesen: http://www.regular-expressions.info/