我的字符串看起来像那样:aaa / b / cc / dd / ee。我想在没有/的情况下剪切第一部分。我该怎么做?我有很多字符串,它们的长度不一样。我尝试使用Substring(),但是/?
呢我想在第一个treeNode中添加'aaa',在第二个树上添加'b'等等。我知道如何向treeview添加内容,但我不知道如何才能收到这些部分。
答案 0 :(得分:5)
也许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);
}
答案 1 :(得分:4)
使用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("/");
答案 2 :(得分:1)
您可能想要这样做:
string[] parts = "aaa/b/cc/dd/ee".Split(new char[] { '/' });
答案 3 :(得分:0)
听起来这是...... Regular Expressions的工作!
答案 4 :(得分:0)
一种方法是使用string.Split
将字符串拆分为数组,然后使用string.Join
将所需数组的任何部分转换为新字符串。
例如:
var parts = input.Split('/');
var processedInput = string.Join("/", parts.Skip(1));
这是一种通用方法。如果您只需要进行非常具体的处理,那么使用string.IndexOf
可以提高效率,例如:
var processedInput = input.Substring(input.IndexOf('/') + 1);