2016-04-11 4 views
0

Ich wollte wissen, ob es einen einfachen Weg gibt, einen String zu konvertieren, sagen wir "G20" in zwei separate Konstanten, wobei Buchstabe = G und Zahl = 20Einen String mit einem Buchstaben und einem int teilen und als neue Konstanten definieren

EG

input G20 
letter=G; 
number=20 
+0

Sie können regex für die Mustererkennung verwenden und herausfinden, ob das Zeichen eine Zeichenfolge oder eine Ganzzahl ist –

+0

Wenn alle drei Zeichenfolgen Konstanten sind, können Sie sie umdrehen: 'final String letter =" G ";', 'final int number = 20; ',' final String input = letter + number; ', –

+1

Bitte beachten Sie, dass Ihre Formulierung irgendwie widersprüchlich ist. Typischerweise bezieht sich eine" Konstante "auf einen Wert, der zur Kompilierzeit bekannt ist eine Konstante zu etwas wie "public final static int SOME_CONST = 42" ... während Sie auch über Benutzereingaben sprechen (was natürlich ausschließt, um eine ** Konstante ** zu erzeugen). – GhostCat

Antwort

0

ist das Muster, konstant in dem Eingang dh; der String mit contain char [] anfänglich gefolgt von Zahlen. Wenn dies der Fall ist, können wir den Mustervergleich verwenden, um die Zeichenfolge zu teilen.

+0

Das Muster wird immer ein einzelner Buchstabe sein, gefolgt von einer nicht negativen Zahl. Wenn keine Nummer vorhanden ist, sollte die Zahlenkonstante auf 1 gesetzt werden. – joguel10

0

zu bekommen, wenn es immer einen Buchstaben mit dem ersten Zeichen der Zeichenkette ist, können Sie das erste Element als Brief bekommen und das blieb wie die Zahl

Buchstabe = Eingabe [0]; Nummer = Eingabe [1..größe (Eingabe)];

0

Ich denke, dass die am besten geeignete Lösung ein regulärer Ausdruck ist.

Insbesondere können Sie zwei passende Gruppen erstellen, um den Brief, der vor den Zahlen kommt zu erfassen:

([A-Z])([0-9]+) 

Mit der Matcher Klasse können Sie die beiden passenden Gruppen erhalten mit der Gruppe Methode.

0

Können Sie bitte versuchen, dieses:

public void split (String input) {// input = G20 String strSubstring = inputString.charAt (0); int intSubstring = Integer.parseInt (inputString.substring (1, inputString.length());}

0

Wenn Ihr 'G' kann nur ein einzelner Buchstaben-Wort in Ordnung sein folgenden funktionieren

String token = "G20"; 
    String letter = token.substring(0, 1); 
    String number = token.substring(1, token.length()); 

    System.out.println("letter is : " + letter + "\nNumber is : " + number);//Prints out : letter is : G Number is : 20 
.
Verwandte Themen