Eigentlich versuche ich, Nummer zu Wörtern in dem Satz zu ersetzen, der vom Benutzer gibt. Dieses Falldatumsformat; Zum Beispiel: My birthday is on 16/6/2000 and I'm newbie to the java
->werden --->My birthday is on sixteenth july two thousand and I'm newbie to the java
Ersetze Nummer zu Wörtern in der richtigen Position in Java
Hier ist Code:
Scanner reader = new Scanner(System.in);
System.out.println("Enter any numbers: ");
String nom = reader.nextLine(); // get input from user
//checking contains that has "/" or not
if(nom.contains("/")){
String parts[] = nom.split("[/]");
String part1 = parts[0]; //data before "/" will be stored in the first array
String day[] = part1.split("\\s+");// split between space
String get_day = day[day.length -1];// get last array
String get_month = parts[1]; //data in the between of "/" will be stored in the second array
String part3 = parts[2]; // data after "/" will be stored in the third array
String year[] = part3.split("\\s+");// split between space
String get_year = year[0];// get first array
String s = NumberConvert.convert(Integer.parseInt(get_day)) +
NumberConvert.convert(Integer.parseInt(get_month)) +
NumberConvert.convert(Integer.parseInt(get_year));
String con = nom.replaceAll("[0-9].*/[0-9].*/[0-].*", s); // replace number to word
System.out.println(con); // print the data already converted
} else {....}
Aber das Ergebnis, das ich bekommen haben ist:
My birthday is on sixteenth july two thousand
//"and I'm newbie to the java" is disappear [How to solve it]//
Wie löse es. Eigentlich möchte ich den Wert vor und nach dem Schrägstrich "/" erhalten und in Wörter umwandeln und sie als ursprüngliche Eingabe vom Benutzer ersetzen.
Was ich habe versucht, ist:
String con = nom.replaceAll("[0-9].*/[0-9].*/[0-9999]", s); // a bit change [0-9].* to [0-9999]
Aber Ausgabe wie folgt werden:
My birthday is on sixteenth july two thousand 000 and I'm newbie to the java
//after two thousand index "000" is appearing
Zahlen oder Daten? – aksappy