вырезание из строки в C # - PullRequest
       11

вырезание из строки в C #

4 голосов
/ 21 декабря 2010

Мои строки выглядят так: aaa / b / cc / dd / ee. Я хочу вырезать первую часть без /. Как мне это сделать? У меня есть много строк, и они не имеют одинаковую длину. Я пытался использовать Substring (), но как насчет /?

Я хочу добавить 'aaa' к первому узлу дерева, 'b' ко второму и т. Д. Я знаю, как добавить что-то к дереву, но я не знаю, как я могу получить эти части.

Ответы [ 5 ]

5 голосов
/ 21 декабря 2010

Может быть, вам нужен метод Split () ?

string value = "aaa/b/cc/dd/ee";

string[] collection = value.Split('/');

Определяет подстроки в этом экземпляре, разделенные одним или несколькими символами, указанными в массиве, а затем помещает подстроки в массив String.

На основе ваших обновлений, связанных с TreeView (ASP.Net? WinForms?), Вы можете сделать это:

foreach(string text in collection)
{
    TreeNode node = new TreeNode(text);
    myTreeView.Nodes.Add(node);
}
5 голосов
/ 21 декабря 2010

Используйте Substring и IndexOf, чтобы найти местоположение первой /

Чтобы получить первую часть:

// from memory, need to test :)
string output = String.Substring(inputString, 0, inputString.IndexOf("/")); 

Чтобы просто вырезать первую часть:

// from memory, need to test :)
string output = String.Substring(inputString, 
                                 inputString.IndexOf("/"),     
                                 inputString.Length - inputString.IndexOf("/"); 
1 голос
/ 21 декабря 2010

Возможно, вы захотите сделать:

string[] parts = "aaa/b/cc/dd/ee".Split(new char[] { '/' });
0 голосов
/ 21 декабря 2010

Один из способов сделать это - использовать string.Split, чтобы разбить вашу строку на массив, а затем string.Join, чтобы превратить любые части массива в новую строку.

Например:

var parts = input.Split('/');
var processedInput = string.Join("/", parts.Skip(1));

Это общий подход.Если вам требуется только очень специфическая обработка, вы можете повысить эффективность с string.IndexOf, например:

var processedInput = input.Substring(input.IndexOf('/') + 1);
0 голосов
/ 21 декабря 2010

Похоже, это работа для ... Регулярные выражения !

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...