2016-07-01 2 views
0

Пользователь будет ввести свои детали в одном текстовом поле, как следующийрасщепление динамического текста в текстовое поле C#

входа в текстовом поле

S. No. Имя Возраст Пол Концессия Coach Статус Seat/Причал/WL Нет

Текущий тренер Статус Seat/Причал/WL Нет ID Тип/ID No.

1 AYAN PAL 40 Male CNF S7 49 (LB) CNF S7 49 (LB)

CS КОД

  int indexof1 = strMain.IndexOf("1 "); 
      int indexof40 = strMain.IndexOf("40 "); 
      int indexofstts = strMain.IndexOf("Male  "); 
      int effectiveindexof1 = indexof1 + "1 ".Length; 
      int effectiveindexof40 = indexof40 + "40 ".Length; 
      string pname = strMain.Substring(effectiveindexof1,indexof40-effectiveindexof1); 

Я использую подстроки, но это не поможет, потому что вся информация, предоставленная пользователем будет динамичным

+0

Я думаю, что это плохой подход, чтобы сделать это. Почему не '.CSV' для ввода –

+0

Как насчет метода string.Split()? –

+0

Мой клиент хочет сделать что-то более легко, он просто хочет скопировать пасту и сделать мою работу труднее любой идеи об этом? –

ответ

1

Вы можете попробовать разделить его, как это

var input = "1 AYAN PAL 40 Male CNF S7 49 (LB) CNF S7 49 (LB)"; 
var fields = input.Split(' '); 

А затем просто получить доступ к каждому элементу, подобному этому

string id = fields[0]; 
string name = fields[1]; 
..... 

Edit: Diferent Количество слов

 var fullName = string.Empty; 
     int i = 0; 
     int number = 0; 
     var id = fields[i++]; 
     while (!int.TryParse(fields[i], out number)) 
     { 
      fullName += fields[i++] + " "; 
     } 
     fullName = fullName.TrimEnd(); 
     var age = fields[i++]; 
     var gender = fields[i++]; 
     ............ 
+0

что, если он войдет в имя, как приянка шинде вайбхав, что тогда произойдет? –

+0

Чем это грозит, это решение будет работать только для того же самого ввода, если будет больше элементов, это не сработает. Вы можете попробовать проверить, являются ли поля [i] in for loop целыми, где вы знаете, что между ID и Age является именем. –

+0

это не поможет мне много, я попробовал, что, может быть, регулярное выражение поможет мне получить имя –

Смежные вопросы