簡體   English   中英

從SQL Server將全名解析為名字和姓氏-Linq到實體

[英]Parse full name into First Name and Last Name from SQL Server - Linq to Entities

我有一個C#控制台應用程序,該應用程序僅從Sql Server 2008數據庫中提取信息並將其輸出到excel工作表。

我正在使用Linq to Entities。

這是一段代碼 ,目的是演示如何將數據從數據庫輸出到Excel工作表。

cell = dataRow.CreateCell(colPosition++); // Title Group ID
cell.SetCellValue(currentTitle.TitleGroupID);

我的問題是,在我的數據庫中,用戶名存儲為他/她的全名,例如“約翰·史密斯”,但是,在excel工作表中,用戶名被分隔為名字和姓氏。

有沒有一種方法可以將用戶名解析為名字和姓氏?

在此先感謝,如果需要更多信息,請詢問:)

如果您確定名字不包含任何空格,則可以使用string.Split方法

string [] Name = fullNameString.Split(" ");
string firstname = Name[0];
string lastname = Name[1];

名稱就是它們很復雜。 簡而言之,您不能這樣做,因為從全名中基本上不可能知道什么是姓氏和名字。 但是,您可以假設末尾部分始終是姓氏(即使在許多情況下並非如此),然后在空間上分割字符串。

string [] Name = fullNameString.Split(" ");
string firstname = string.Join(" ", Name.Take(Name.Length - 1));
string lastname = Name.Last();

您可以將字符串按空格分隔,然后將第一個單詞作為名字,將其余單詞作為姓氏。

您可以使用簡單的方法,將最后一個單詞分開。

但是,如果不進一步了解語言,這是無法可靠解決的。 “ Fred Di Costello”實際上的姓是“ Di Costello”,與“ Kraus Von Trappe”相同。

這是非常困難的任務。 您應該分析所有數據。 在簡單的情況下,您可以按“”分隔文字,名字設置第一個單詞,姓氏設置第二個世界。 但是,如果您遇到其他情況,則應該以其他方式解決

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM