Разобрать полное имя в Имя и Фамилию из SQL Server - Linq to Entities - PullRequest
0 голосов
/ 06 января 2011

У меня есть консольное приложение C #, которое просто извлекает информацию из базы данных Sql Server 2008 и выводит ее на лист Excel.

Я использую Linq to Entities.

Вот фрагмент кода кода, просто чтобы продемонстрировать, как я вывожу данные из базы данных на лист Excel.

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

Моя проблема в том, что в моей базе данных имя пользователя хранится как его / ее полное имя, например, "Джон Смит", однако в листе Excel это разделено на имя и фамилиюНазвание.

Есть ли способ разбить имя пользователя на Имя и Фамилию?

Заранее спасибо, если нужна дополнительная информация, просто спросите:)

Ответы [ 5 ]

2 голосов
/ 06 января 2011

, если вы уверены, что в имени нет пробелов, вы можете использовать строку. Метод Split

string [] Name = fullNameString.Split(" ");
string firstname = Name[0];
string lastname = Name[1];
1 голос
/ 06 января 2011

Вы можете использовать наивный подход, просто разделив последнее слово.

Однако это не то, что можно надежно решить, не зная больше о языке. «Фред Ди Костелло» на самом деле имеет фамилию «Ди Костелло», то же самое с «Краус фон Траппе».

1 голос
/ 06 января 2011

Дело в том, что с названием они сложны. Короче говоря, нет, вы не можете этого сделать, поскольку в принципе невозможно узнать, что такое фамилия и имя от полного имени. Но вы можете исходить из предположения, что последняя часть всегда является фамилией (хотя во многих ситуациях это не так) и разбивать строку на пробел.

string [] Name = fullNameString.Split(" ");
string firstname = Name.Take(Name.Length - 1);
string lastname = Name.Last();
1 голос
/ 06 января 2011

Вы можете разбить строку на пробелы и взять первое слово в качестве имени, а остальные слова в качестве фамилии.

0 голосов
/ 06 января 2011

это очень сложная задача.Вы должны проанализировать все ваши данные.в простом случае вы можете разделить текст на "", а имя установить первым словом, фамилию установить вторым миром.Но если у вас есть другой случай, вы должны решить его другим способом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...