2011-04-13 17 views
8

que tienen una cadena de tipocadena dividida después de coma y hasta la cadena de asp.net C# ends-

ishan, formación

quiero dividir la cadena después de "" esto es lo que quiero la salida como

formación

NOTA: "" no tiene un fi El índice xed como el valor de la cadena antes de "," es diferente en diferentes momentos.

por ejemplo Ishant, Marcela O ishu, Ponda O amnarayan, Mapusa etc ...

De todos los ejemplos anteriores sólo necesito la parte que sigue ""

+0

no estoy seguro de si lo que quiere es conseguir la segunda palabra. Quiero decir, si tienes "a, b, c, d", ¿quieres obtener "b, d"? –

Respuesta

17

Puede utilizar String.Split:

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

O bien, un poco más simple:

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

O es posible que desee utilizar Linq: str.Split (','). LastOrDefault() – Rik

0

Uso String.Split(",") asignar el resultado a una string array y usa lo que quieras.

0

Heres una versión VB. Estoy seguro de que es fácil de traducir a C#, aunque

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

return str 
+0

Eso funciona para el ejemplo anterior, pero no considera una cadena con comas múltiples – Andrew

+0

Ah, disculpe, esto podría ser mejor: .Split (","). Reverso (0) – Curt

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

Esto solo dará el último elemento. ¿Es eso lo que quieren? Del título, ellos lo que todo después de la coma. ¿Qué pasa si la cadena es 1,2,3,4,5? –

2

sourcestring.Substring(sourcestring.IndexOf(',')). Es posible que desee comprobar sourcestring.IndexOf(',') para -1 para cadenas sin ,.

0

Aunque hay varios comentarios que mencionan el tema de múltiples comas que se encuentran, no parece haber ninguna mención de la solución para eso:

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

Esto hará que afterFirstComma igual a "2,3 , 4,5"

2

sé que esta pregunta ya ha sido contestada, pero se puede utilizar LINQ:

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