Ok, quindi è la prima volta che pubblico qui, quindi abbi pazienza con me.Scambiare la posizione degli elementi all'interno di un array in java?
Ho un nome nel formato "Smith, Bob I"
e ho bisogno di cambiare questa stringa per leggere "Bob I. Smith"
. Qualche idea su come fare per farlo?
Questo è un modo che ho provato, e mentre ha fatto il lavoro, sembra piuttosto sciatto.
public static void main(String[] args) {
String s = "Smith, Bob I.", r = "";
String[] names;
for(int i =0; i < s.length(); i++){
if(s.indexOf(',') != -1){
if(s.charAt(i) != ',')
r += s.charAt(i);
}
}
names = r.split(" ");
for(int i = 0; i < names.length; i++){
}
System.out.println(names[1] +" " + names[2] + " " + names[0]);
}
+1 per lo sforzo – Venki
vostro algoritmo probabilmente dipenderà un po 'che tipo di regole su ingresso si ha, in quanto ciò potrebbe richiedere ulteriori operazioni per gestire casi particolari o consentire di vari tasti di scelta rapida, perché i dati sono coerenti. Ad esempio: c'è sempre un presente iniziale medio o talvolta non ci sarà un secondo nome o un secondo nome completo. Che dire di titoli come II o Jr? Tutti i nomi hanno il primo e l'ultimo? Etc. –
Ok, questo è uno strumento che raccoglie i nomi quando vengono importati da entrambi i testi non strutturati o vengono raccolti raschiando il web. Entrano in tutti i tipi di formati, ad esempio "Bob I. Smith", "Smith, Bob I", "Bob Smith", "Smith Bob". Devo sviluppare un modo per rendere tutti i nomi un formato uniforme, che, per ora, è o "Primo M. Ultimo" o "Ultimo, Primo M" – Lambda