2011-04-13 38 views
8

我有型分割字符串,字符串,直到ends- asp.net C#

依禅的字符串,培训

我想之后的字符串分割“”也就是我想要输出作为

培训

注: “” 不具有网络连接固定的指数作为前的字符串值“”是在不同的时间不同。

如ishant,马塞拉OR ishu,庞达OR amnarayan,马普沙等等

从上面所有的字符串我只需要之后的部分“”

+0

我不知道,如果你想要的是让第二个字。我的意思是,如果你已经 “A,B,C,d”,你想获得 “B,d”? – 2011-04-13 10:56:06

回答

17

您可以使用String.Split

string[] tokens = str.Split(','); 
string last = tokens[tokens.Length - 1] 

或者,更简单一点:

string last = str.Substring(str.LastIndexOf(',') + 1); 
+1

或者你可能希望使用Linq:str.Split(“”)LastOrDefault() – Rik 2011-04-13 11:18:38

0

使用String.Split(",")在分配结果的字符串数组并使用你想要的。

0

继承人VB版本。我敢肯定,它很容易转换成C#虽然

Dim str as string = "ishan,training" 
str = str.split(",")(1) 

return str 
+0

,对于例如上述作品,但不考虑与多个逗号 – Andrew 2011-04-13 10:49:23

+0

不好意思啊,这可能是更好的字符串:.Split (“”)。反转(0) – Curt 2011-04-13 12:07:17

2
var arr = string.Split(","); 
var result = arr[arr.length-1]; 
+0

这只会给的最后一个项目。那是他们想要的吗?从标题就接缝他们在逗号后是什么一切。如果字符串是1,2,3,4,5,该怎么办? – 2011-04-13 10:54:15

2

sourcestring.Substring(sourcestring.IndexOf(','))。您可能要检查sourcestring.IndexOf(',')-1字符串没有,

0

虽然有几种意见提多逗号的问题被发现,似乎没有成为该解决方案的任何提及:

string input = "1,2,3,4,5"; 
if (input.IndexOf(',') > 0) 
{ 
    string afterFirstComma = input.Split(new char[] { ',' }, 2)[1]; 
} 

这将使afterFirstComma等于“2,3 ,4,5"

2

我知道这个问题已经回答了,但你可以使用LINQ:

string str = "1,2,3,4,5"; 
str.Split(',').LastOrDefault();