Как разделить слово из скобок, используя метод Split в C #? - PullRequest
2 голосов
/ 02 февраля 2011

Как разделить слово из скобок, например:

(animal)

Мне нужно использовать только слово "животное", используя C # split.

Ответы [ 5 ]

5 голосов
/ 02 февраля 2011

Если вы хотите разделить только на скобки, это будет сделано:

string test = "(duck)(monkey)";
string[] animals = test.Split(new [] {'(', ')'}, 
                              StringSplitOptions.RemoveEmptyEntries);

животных теперь содержит { "duck", "monkey"}.Для ввода одного животного (т.е. (animal)) просто возьмите animals[0] или оцените напрямую:

string animal = test.Split(new [] {'(', ')'}, 
                           StringSplitOptions.RemoveEmptyEntries)[0];
3 голосов
/ 02 февраля 2011

Документация для метода String.Split уже дает примеры того, как это сделать. Просто укажите скобки как символы разделителя, на которые вы хотите разделить:

string originalString = "(animal)";
string[] newString = originalString.Split(new char[] {'(', ')'});

Выход:

{"", "animal", ""}
2 голосов
/ 02 февраля 2011

Вы уверены, что вам нужно использовать split ()?

Если бы все было так просто, как вы сказали, не было бы

string justWord = "(animal)".Replace("(","").Replace(")","")

быть более эффективным и ясным?

1 голос
/ 02 февраля 2011

Для этого достаточно только триммера

 string originalString = "(animal)";
    originalString =  originalString.Trim('(',')');
0 голосов
/ 02 февраля 2011

Вот

string searchValues = "(duck)(monkey)";
var matches = Regex.Matches(searchValues, @"\w+");
var values = (from matche in matches.Cast<Match>() select matche.Value).ToList();
...