In my for each loop, I am needing to trim the full name being returned in my stored procedure. I would need the "last name, first 2 characters of first name" but trim everything else.
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");
Assuming the name comes through as "First Middle Last", you could use
var myString = "Franklin Delano Roosevelt";
var stringArr = myString.Split(' ');
var lastFirstTwoInitials = stringArr[2] + ", " + stringArr[0].Substring(0, 2);
EDIT: Just saw your comment about format being "Last, First Middle"
var stringArr = patient.PatientName.Split(' ');
var lastFirstTwoInitials = stringArr[0] + " " + stringArr[1].Substring(0, 2);
or
var stringArr = patient.PatientName.Split(' ');
var lastFirstTwoInitials = patient.PatientName.Substring(0, stringArr[0].Length + 3);