Ok, es ist das erste Mal, dass ich hier postiere, also ertragen Sie mit mir.Die Position von Elementen in einem Array in Java austauschen?
Ich habe einen Namen im Format "Smith, Bob I"
und ich muss diese Zeichenfolge um "Bob I. Smith"
lesen. Irgendwelche Ideen, wie man das macht?
Dies ist ein Weg, den ich ausprobiert habe, und obwohl es die Arbeit erledigt, sieht es ziemlich schlampig.
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 für die Mühe – Venki
Ihr Algorithmus hängt wahrscheinlich ein bisschen auf, welche Art von Regeln über Eingabe Sie haben, wie diese zusätzliche Schritte erfordern Spezialfälle oder ermöglichen für verschiedene Verknüpfungen zu handhaben, da die Daten konsistent sind. ZB: Gibt es immer ein mittleres Anfangsgeschenk oder wird es manchmal keinen zweiten Vornamen oder einen vollen zweiten Vornamen geben? Was ist mit Titeln wie II oder Jr? Haben alle Namen eine erste UND letzte? Etc. –
Okay, dies ist ein Werkzeug, das die Namen sammelt, wie sie aus unstrukturierten Texten stammen, oder sie werden durch das Scraping des Webs gesammelt. Sie kommen in allen Arten von Formaten, d. H. "Bob I. Smith", "Smith, Bob I", "Bob Smith", "Smith Bob". Ich muss einen Weg entwickeln, um alle Namen zu einem uniformierten Format zu machen, das vorerst entweder 'First M. Last' oder 'Last, First M' – Lambda