2016-04-12 4 views
-2

Hallo Ich versuche, den Vor- und Nachnamen einer Person zu erhalten. In meinem Tisch habe ich ein Feld, dasSo erhalten Sie Vor- und Nachname von String mit vollem Namen

João Afonso de Santos Silva 

wie so eine Person, die vollständigen Namen erhält aber ich brauche die

first name João and then his last name Silva 

und dann kombinieren thoes zwei Strings abzurufen. Das Endergebnis sollte wie folgt aussehen:

João Silva 

Hat jemand irgendwelche Vorschläge?

+0

[String.Split()] (https://msdn.microsoft.com/en-us/library/system.string.split (v = vs.110) ASPX-) und verbinden sich dann die erste und letzte Elemente des Arrays. –

+0

@stephenMuecke ist definitiv die einzig mögliche Lösung. Sie müssen durch "" Space Char teilen. –

+2

Ist das eine SQL-Server- oder .NET-Frage? Was hast du versucht, was war das Problem? Was ist mit Namen wie Abby Lee Jones? Ist Abby oder Abby Lee der Vorname? –

Antwort

1

Fixieren Sie Ihre Datenspeicherung und Erfassung.

I.E: In Ihrem DB-Schema haben Sie 2 Felder: FirstName und LastName, und in Ihrer Präsentationsebene erfassen Sie beide Felder unabhängig voneinander.

In Ihrer Frage behaupten Sie, dass João Silva der Name ist, den Sie wollen. Aber das ist falsch.

Was Sie wollen, ist João (Vorname) de Santos Silva (Nachname). In Ihrem Szenario müssen Sie auch den zweiten Vornamen (Afonso) erfassen.

Ich würde das zuerst reparieren. Was du willst, ist trivial.

+0

ja ich muss meine Datenbank ändern, sonst werden mehr Probleme auftreten. Du schreibst. –

1

Nur auf die erste und letzte aufgeteilt.

string name = "João Afonso de Santos Silva"; 
string firstname = name.Split(' ').First(); 
string lastname = name.Split(' ').Last(); 
+0

Warum "Split" zweimal aufrufen, wenn Sie die Ergebnisse behalten können? Das Erstellen von Arrays ist langsam! –

Verwandte Themen