Извлечение нескольких значений разных размеров из строки - PullRequest
0 голосов
/ 14 октября 2018

У меня есть пример двух строк, например:

var string1 = "order customer joe intel 300";
var string2 = "order customer john amd 200";

Я пытаюсь создать метод, который может извлекать имя, компанию и номер из каждой строки и формировать отформатированную строку из данных.Например,

var formattedString1 = "Order placed for joe - 300 units of intel"

До сих пор мне удалось удалить слова order и customer вот так

string1 = string1.Replace("order", string.Empty).Replace("customer", string.Empty);

Мой вопрос: как мне извлечь оставшиеся слова?из строки и сохраните их как переменные, подобные этой

var name = "joe";
var company = "intel";
var quantity = "300";

Обратите внимание, что я пытаюсь сформировать решение, которое будет правильно извлекать имя, компанию и номер из любой строки независимо от длины любых переменных.

Ответы [ 2 ]

0 голосов
/ 14 октября 2018

Если у вас есть много этих строк, которые вы хотите обработать, что звучит так же, как и вы .. Вы можете попробовать что-то вроде этого:

// Array of data
string[] values = 
    {
    "order customer joe intel 300",
    "order customer john amd 200",
    "order customer bob Qualcomm 300"
};

// Loop the array of data
foreach (string value in values)
{
    // split up the data in to the words
    string[] split = value.Split(' ');

    // Get the values (assuming they are always in the same place)
    string name = split[2];
    string company = split[3];
    string quantity = split[4];

    // Create the formatted string
    string formattedString = $"Order placed for {name} - {quantity} units of {company}";

    // Do something with the string ..
    Console.WriteLine(formattedString);
}
0 голосов
/ 14 октября 2018

Это «мое чувство», что вы новичок в программировании, поэтому я расскажу вам, как это сделать.Как уже упоминалось в комментариях, вы можете использовать метод String.Split , который будет возвращать массив строк.Каждая строка в массиве может быть захвачена с помощью индекса, который начинается с 0. Затем вы можете использовать индексы, чтобы назначать переменные для строк и форматировать их.

Примерно так:

string string1 = "order customer joe intel 300";
string string2 = "order customer john amd 200";

string[] parts = string1.Split(' ');

string name = parts[2];
string company = parts[3]
string quantity = parts[4];

string formattedString = "Order placed for " + name + " - " + quantity + " units of " + company;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...