2011-05-06 12 views
8

Quiero tomar una cadena de un cuadro de texto (txtFrom) y guardar la primera palabra y guardar lo que quede en otra parte. (El lo que queda es todo más allá del primer espacio)División de una cadena en solo 2 partes

Ejemplo cadena = "Bob Jones fue a la tienda"

array [0] daría "Bob"
array [1] daría "Jones Fui a la tienda "

Sé que es string[] array = txtFrom.Split(' ');, pero eso me da una matriz de 6 con palabras individuales.

Respuesta

3

Simplemente se combinan con una fracción de una unión para obtener el primer elemento:

string[] items = source.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); 

string firstItem = items[0]; 
string remainingItems = string.Join(" ", items.Skip(1).ToList()); 

Sólo tiene que dar el primer elemento y reformar el resto vuelta a una cadena.

+1

Creo que quiere un delimitador de espacio en su Join. –

+0

Esta es una buena respuesta, aunque OP está usando un espacio para un separador y no una coma. Creo que tu ejemplo es lo suficientemente claro sin embargo. – Pete

+0

Sí, suelo hacer una coma, ¡qué mal! ¡Demasiadas cadenas delimitadas por comas en este mundo! – Tejs

1

hay una sobrecarga del método String.Split() que toma un entero que representa el número de subcadenas para volver.

Así que su llamada al método se convertiría en: string[] array = txtFrom.Text.Split(' ', 2);

0

También puede intentar RegularExpressions

Match M = System.Text.RegularExpressions.Regex.Match(source,"(.*?)\s(.*)"); 
M.Groups[1] //Bob 
M.Groups[2] // jones went to the store 

La expresión regular coincide con todo hasta el primer espacio y lo almacena en el primer grupo de la? mark le dice que haga la menor coincidencia posible. La segunda cláusula toma todo después del espacio y lo almacena en el segundo grupo

0
char[] delimiterChars = { ' ', ',' }; 
string text = txtString.Text; 

string[] words = text.Split(delimiterChars, 2); 

txtString1.Text = words[0].ToString(); 
txtString2.Text = words[1].ToString(); 
+1

debes agregar una explicación ... –

Cuestiones relacionadas