2013-10-24 2 views
1

Привет всем, что я пытаюсь сделать, это написать код на C#, чтобы разбить конкретный столбец в моей таблице данных на 2 столбца, как показано нижеМогу ли я разбить столбец на моей таблице данных на несколько столбцов на основе поиска символов

подобно тому, как, например

Name Location 
----- -------- 
ross a12u20 
charle b12u25 

и я хочу, чтобы это было как

Name Location Unit 
----- -------- ----- 
ross a12  u20 
charle b12  u25 

возможно ли это?

+0

_Is это возможно? _ Вы попробовали? –

+0

Я пробовал .. Мне удалось разбить строку на несколько строк ... Но та же концепция теперь держится хорошо, и я уверен, что она тоже не должна ... Я пытаюсь понять, если это возможно .. и если это вы бы посоветовали мне, как я могу это сделать ... Я действительно не специалист в C# и на моих этапах обучения .. было бы здорово, если бы вы могли сказать мне подход, который я могу предпринять, чтобы это сделать. Спасибо – user2914424

ответ

0

Пропущенная информация отсутствует.

Предполагая, что свойство Расположение всегда имеет длину 6 символов, или блок начинается с индексом 4, это может быть быстрый и грязный раствор:

List<person> source = new List<person>(); 
//I have created a ficitive class person with 2 properties: Name, Location 
source.Add(new person { Name ="Ross", Location="a12u15"}); 
source.Add(new person { Name ="bald", Location="b12u20"}); 
source.Add(new person { Name ="fat", Location="c12u25"}); 
source.Add(new person { Name ="man", Location="d12u30"}); 
source.Add(new person { Name ="heinz", Location="e12u35"}); 


var result = source.Select(s => new { 
    Name = s.Name, 
    Location = s.Location.Substring(0,3), 
    Unit = s.Location.Substring(3,3) 
}); 

Edit: Для того, чтобы читать из DataTable запрос будет выглядеть по-другому. source будет вашим данным.

var result = source.Select(s => new { 
    Name = s.Field<string>("Name"), 
    Location = s.Field<string>("Location").Substring(0,3), 
    Unit = s.Field<string>("Location").Substring(3,3) 
}); 
Смежные вопросы