Обрезать все символы, кроме двух, после запятой для каждого в ASP. NET MVC Вызов API C# - PullRequest
0 голосов
/ 05 августа 2020

В моем для каждого l oop мне нужно обрезать полное имя, возвращаемое в моей хранимой процедуре. Мне понадобится «фамилия, первые 2 символа имени», но все остальное обрежьте.

foreach (var mrnRecord in mrnRecords)
{
    var filtered = dt.AsEnumerable().Where(x => x.Field<string>("MRN").Contains(mrnRecord));

    patient = new Patient();
    orders = new List<Order>();

    patient.MRN = filtered.First().Field<string>("MRN");
    patient.CurrentLocation = filtered.First().Field<string>("CurrentLocation") + "<br />" + filtered.First().Field<string>("PatientName") + "<br />" + filtered.First().Field<string>("Isolation");
    patient.PatientName = filtered.First().Field<string>("PatientName");
    patient.PatientType = filtered.First().Field<string>("PatientType");
    patient.VisitId = filtered.First().Field<string>("VisitID");

1 Ответ

0 голосов
/ 05 августа 2020

Предполагая, что имя проходит как «Первый средний последний», вы можете использовать

var myString = "Franklin Delano Roosevelt";
var stringArr = myString.Split(' ');
var lastFirstTwoInitials = stringArr[2] + ", " + stringArr[0].Substring(0, 2);

РЕДАКТИРОВАТЬ: только что видел ваш комментарий о формате «Последний, первый средний»

var stringArr = patient.PatientName.Split(' ');
var lastFirstTwoInitials = stringArr[0] +  " " + stringArr[1].Substring(0, 2);

или

var stringArr = patient.PatientName.Split(' ');
var lastFirstTwoInitials = patient.PatientName.Substring(0, stringArr[0].Length + 3);
...