2016-04-12 254 views
-2

您好,我正在嘗試獲取某人的姓名。在我的表我有收到像這樣如何從姓名全名的字符串中獲取名字和姓氏

João Afonso de Santos Silva 

一個人的全名的字段,但我需要檢索

first name João and then his last name Silva 

然後再結合thoes兩個字符串。最終結果應如下所示:

João Silva 

有沒有人有任何建議?

+0

[String.Split()](https://msdn.microsoft.com/en-us/library/system.string.split(V = vs.110)的.aspx),然後組合第一和數組的最後一項。 –

+0

@StephenMuecke絕對是唯一可能的解決方案。你必須用空格字符分割。 –

+2

這是一個SQL Server或.NET的問題嗎?你試過了什麼,這個問題是什麼?像Abby Lee Jones這樣的名字是什麼? 「Abby」還是「Abby Lee」的名字? –

回答

1

修復您的數據存儲和捕獲。

I.E:在您的數據庫模式中有兩個字段:FirstName和LastName,並在您的表示層中獨立捕獲兩個字段。

在你的問題中,你聲稱JoãoSilva是你想要的名字。但這是錯誤的。

你想要什麼是João(firstname)de Santos Silva(姓氏)。在你的場景中,你還需要捕獲中間名(Afonso)。

我會先修復它。那麼你想要的是微不足道的。

+0

是的,我必須改變我的數據庫,否則會有更多的問題。你賴特。 –

1

剛剛分裂。

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

爲什麼在保留結果時爲什麼要調用'Split'?創建數組很慢! –