2012-04-30 27 views
13

Estoy tratando de dividir una secuencia en el primer espacio y solo mantener la segunda mitad. Entonces, si la entrada era "1. la parte superior del acero", la salida sería "superior al acero". Estoy trabajando con algunos ejemplos diferentes de aquí y no puedo hacer que funcione. ¿Pensamientos? Gracias.Separación de cadena en el primer espacio

+3

'string secondHalf = myString.Split (new char [] {''}, 2) [1];' Use el método Split con un tamaño máximo en la matriz. – BenVlodgi

Respuesta

27
var myString = "1. top of steel"; 
var newString = myString.Remove(0, myString.IndexOf(' ') + 1); 
1

Se podía hacer:

string myString = "1. top of steel"; //replace this with the input 
string resultString = myString.IndexOf(' ') > -1 
    ? myString.Substring(myString.IndexOf(' ') + 1) 
    : myString; 
+0

Su splitString necesita ser una matriz e incluso entonces esto daría como resultado que 'myNewString' sea' top' porque se dividiría en cada espacio, no solo en el primero. – jzworkman

+0

Necesita una matriz para almacenar el resultado de Split. Además, esto no funcionará correctamente cuando la entrada contenga más de un espacio – Attila

+1

Este código no funcionará, tiene demasiados errores. 1) splitString necesita ser una matriz. 2) La función de división necesita una matriz como parámetro. 3) Si se ignoran los primeros 2 puntos, devolverá solo el elemento en el 1er índice y no el resto de la cadena. –

3

sólo tiene que utilizar algo como siguiente,

string[] stringTokens = originalString.Split(new char[] {' '}, 2, StringSplitOptions.RemoveEmptyEntries); 
if(stringTokens.Length >= 2) 
    newString = stringTokens[1]; 
15

Esta facilidad se logra usando Substring:

string myString = "1. top of steel"; 
string newString = myString.Substring(myString.IndexOf(' ') + 1); 

Esto le dará una noticia tring comenzando después del primer espacio.

Cuestiones relacionadas