Извлечение строки в C # - PullRequest
       3

Извлечение строки в C #

5 голосов
/ 24 января 2012

Я очень расстроен этим и надеюсь, что сообщество может мне помочь.

У меня есть строка, например, "1_ks_Males", другим примером будет "12_ks_Females".

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

1 ks Males

В отдельных переменных.

Я уверен, что я просто невероятно толстый,но я просто не могу этого понять!

Ответы [ 14 ]

15 голосов
/ 24 января 2012

Просто используйте string.Split('_').С вашими входными строками он вернет массив string с тремя элементами.

9 голосов
/ 24 января 2012

Вы можете использовать функцию Split для String.Как то так

var split =  "1_ks_Males".Split('_');
var first = split[0];
var second = split[1];
var third = split[2];
7 голосов
/ 24 января 2012
string[] array =  "1_ks_Males".Split('_');

Assert.AreEqual("1",array[0])
Assert.AreEqual("ks",array[1])
Assert.AreEqual("Males",array[2])
7 голосов
/ 24 января 2012

Вам просто нужно использовать split :

var exampleString = "1_ks_Males";
var split = exampleString.split("_");

var first= split[0]; // 1
var second = split[1]; // ks
var third = split[2]; // Males
6 голосов
/ 24 января 2012
var values = "1_ks_Males".Split('_');
// values[0]: 1
// values[1]: ks
// values[2]: Males
5 голосов
/ 24 января 2012

Вы захотите взглянуть на метод String.Split класса String. Вот ссылка MSDN .

Как правило, если все ваши строки имеют требуемые значения, разделенные непротиворечивым символом (в вашем примере это символ подчеркивания), вы можете использовать метод Split, который разделит одну строку в массив новых строк на основе определенного разделителя.

Например:

string s = "1_ks_Males";
string[] v = s.Split('_');
Console.WriteLine(v[0]);
Console.WriteLine(v[1]);
Console.WriteLine(v[2]);

выдаст:

1
ks
Males
5 голосов
/ 24 января 2012

Вы можете использовать split -

var s = "1_ks_Males";
string[] values = s.Split('_');

Ваши значения будут затем содержаться в массиве `values ​​'-

var firstvalue = values[0];
var secondvalue = values[1];
var thirdvalue = values[2];
5 голосов
/ 24 января 2012

использовать String.Split, который возвращает массив значений

var values = "12_ks_Females".split("_");
// values[0] == "12"
// values[1] == "ks"
// values[2] == "Females"
5 голосов
/ 24 января 2012

Как насчет этого?

var data = myString.Split("_");
var value = data[0];
var @type = data[1];
var gender = data[2];
4 голосов
/ 24 января 2012
var splitVar =  "1_ks_Males".Split('_');
var firstVar = splitVar[0];
var secondVar = splitVar[1];
var thirdVar = splitVar[2];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...