C# cadena dividida

Se proporcionan métodos de división para cadenas. cadena. Splitchar[] a), donde a es el identificador de división. En su ejemplo, el resultado de "aa/bb/cc/DD". dividir("/"). Tochararray()) es una matriz de cadenas que contiene "aa", "bb", "cc" y "DD".

Línea..::.Método de división (matriz

Hora de actualización: 16 de junio de 438 + octubre de 2007

La matriz de cadenas devuelta contiene estas subcadenas en la instancia, separados por elementos de la matriz de caracteres Unicode especificada

Espacio de nombres:sistema

Ensamblaje:mscorlib (en mscorlib.dll)

Sintaxis

Visual Basic (declaración)

Función pública dividida (_

delimitador ParamArray como Char() _

) como cadena()

Visual Basic (uso)

Marcar instancia como cadena

Mostrar separador como carácter()

El valor de retorno tenue es cadena()

returnValue = instancia. split(separador)

C#

Cadena pública[] split(

params char[] delimitador

)

Visual C++

Público:

Array& ltstring^ >^split(

...array<wchar_t>separator

)

J#

Cadena pública[] split(

char[] delimitador

)

JScript

División de función pública(

p>

...Separador:Carácter[]

):Cadena[]

Parámetros

Separador

Tipo: matriz

Una matriz de caracteres Unicode que delimitan subcadenas en este caso, una matriz vacía sin delimitadores o una referencia nullNothingnullptrnull (Nada en Visual Básico)

Devuelve. Valor

Tipo: Matriz

Una matriz cuyos elementos, en este caso, contienen subcadenas separadas por uno o más caracteres en el delimitador. Para obtener más información, consulte la sección Comentarios.

Comentarios

El elemento de matriz devuelto no contiene el delimitador

Devuelto si esta instancia no contiene caracteres en el delimitador. La matriz consta de un único elemento que contiene esta instancia.

Si el argumento del separador es una referencia nullNothingnullptrnull (Nothing en Visual Basic) o no contiene caracteres, se utilizan espacios en blanco como separadores, como se enumera a continuación. table. Los caracteres de espacio en blanco reconocidos por el método Split (son ligeramente diferentes de los caracteres de espacio en blanco reconocidos por el método String.::.Trim). )

Nombre Unicode

Punto de código Unicode

Comentarios

Lista de caracteres

U+0009

Avance de línea

U+000A

Tabla de líneas

U+000B

Avance de página

U+000C

Intro

U+000D

Espacio

U+0020

Siguiente línea

U+0085

Introducido en . NET Framework versión.

Espacio sin separación

U+00A0

Marca de espacio Ogham

U+1680

EN QUAD

U+2000

Cuadrilátero EM

U+2001

Espacio EN

U+2002

p>

Espacio EM

U+2003

Tres espacios por EM

U+2004

Cuatro espacios por espacios EM

U+2005

Seis espacios por EM

U+2006

Espacio gráfico

U+2007

Espacios de puntuación

U+2008

Espacios finos

U+2009

Espaciado mínimo

U+200A

Espacio de ancho cero

U+200B

Únicamente. NET Framework versiones 1.0 y 1.1.

Separador de líneas

U+2028

Separador de párrafos

U+2029

Espacio ideográfico

U+3000

Cada elemento del delimitador define un delimitador separado. Si dos delimitadores son adyacentes, o se encuentra un delimitador al principio o al final de esta instancia, el elemento de matriz correspondiente contiene nulo.

Por ejemplo:

Valor de cadena

Separador

Matriz devuelta

"42, 12, 19"

nuevo Char[] { ', ', ' ' } (C#)

Char() = {, " c ", " c}) (Visual Basic)

{"42", "", "12", "", "19"}

"42..12..19"

Nuevos personajes [] { ' . '} (C#)

Carbón() = { . "c} (Visual Basic)

{"42", "", "12", " ", "19"}

"Banana"

Nuevo carácter [] { ' . '} (C#)

Char() = { "c } (. Visual Basic)

{"banana"}

" Darb\nSmarba" (C#)

Darb & amp vbLf & amp"smar ba" (Visual Básico)

nuevo Char[] {} (C#)

Char() = {} (Visual Basic)

{"Darb "," Smarba" }

" Darb\nSmarba" (C#)

Darb & vbLf & "smar ba" (Visual Basic)

null (C# )

Ninguno (Visual Basic)

{"Darb", "Smarba"}

Consideraciones de rendimiento

El método Split devuelve El objeto de matriz asigna memoria y también asigna un objeto String para cada elemento de la matriz. Si su aplicación requiere un rendimiento óptimo, o si la administración de la asignación de memoria es crítica en su aplicación, considere usar el método IndexOf o IndexOfAny. O puede optar por usar el método Compare para ubicar una subcadena. una cadena.

Si la cadena se divide en un delimitador, use el método IndexOf o IndexOfAny para ubicar una subcadena en la cadena. Para dividir una cadena en la cadena delimitadora, use el método IndexOf o IndexOfAny para ubicar. el primer carácter de la cadena delimitadora.

Luego use el método Comparar para determinar si los caracteres después del primer carácter son iguales al resto de la cadena delimitadora.

Además, si se utiliza el mismo conjunto de caracteres para dividir una cadena en múltiples llamadas al método de división, considere crear una matriz y hacer referencia a ella en cada llamada al método. Esto puede reducir en gran medida la sobrecarga adicional de cada llamada a método.

Ejemplo

El siguiente ejemplo muestra cómo extraer palabras individuales de un bloque de texto tratando los espacios y la puntuación como delimitadores. Pasado a la cadena ..::.split(array

Código de copia de Visual Basic

Prueba de división de clase pública

Subtrunk público compartido()

p >

Atenuar palabras As String = "Esta es una lista de palabras con: un poco de puntuación."

Atenuar dividir As String() = palabras Split(New [Char]() { " "c ,"," c," "c,":" c})

Para cada cadena en la división

if s.

Console.writeline

Terminará si...

Siguiente s

End Sub ' main

Prueba dividida "Finalizar clase"

El ejemplo muestra el siguiente resultado en la consola:

Esto

es

a

Índice

Acerca de

Palabras

Con

a

Una pequeña cantidad

Acerca de

Puntuación

Copiar código C#

Usar el sistema;

Clase pública SplitTest {< /p >

Public static void Main() {

string palabras = "Esta es una lista de palabras, con: un poco de puntuación.";

cadena [] split = Palabra Split(new Char [] { ' ', ', ', '.', ':'});

foreach(cadena dividida){

if (s.Trim). ()!= "")

Consola.Escribir línea;

}

}

}

//Este ejemplo muestra el siguiente resultado en la consola:

//Esto

//es

// a

/ /Lista

//de

//palabras

//con

// un

/ /bits

//de

//puntuación

Copiar código de Visual C++

Usar el sistema de espacio de nombres;

Usar espacio de nombres System::Collections;

int main()

{

String^word="Esta es una lista de palabras, con: a un poco de puntuación.

";

Array<Char>^chars = { ' ',',','->',':'};

Array<string^> ^split = palabras-& gt ; dividir (carácter);

ienumerador^·mayem = dividir-& gt; obtener enumerador(); p>{

string^ s = safe _ cast <string^>(myEnum->current);

If (!s-> trim()-> ; es igual a ( "" )

Console::WriteLine

}

}

//Este ejemplo muestra el siguiente resultado en el consola:

//Esto

//es

// una

//Lista

/ /de

//palabras

//con

// un

//bit

/ /of

//puntuación

J#Copiar código

Importar al sistema *;

Prueba dividida de clase pública

{

Public static void main(String[] args)

{

String palabras = "Esta es una lista de palabras con: un poco de puntuación.";

String Split[] = Words. ,','.', ':' });

for(int iCtr = 0; iCtr & ltsplit . get _ Longitud(); iCtr++) {

Cadena s = (Cadena)split .get_Item(iCtr);

if (!(s.Trim().Equals(" ")){

Console.WriteLine;

}

}

} //principal

}

//Este ejemplo muestra lo siguiente en la salida de la consola:

//Esto

//es

// a

//lista

/ / de

//palabra

//con

// a

//bit

/ /

//Puntuación

Código de copia JScript

Sistema de importación;

Clase pública SplitTest {

Función estática pública Main() : void {

var palabras : String = "Esta es una lista de palabras con: un poco de puntuación. ";

Delimitador de variable: char[] = [' ', ', ', '.', ':'];

var split: String [] = palabras. split (separador);

for (var i : int in split) {

var s:String = split[I];

if ( s.Trim ()! = "")

Consola.

Escribir línea;

}

}

}

SplitTestmain();

//Este ejemplo es La consola muestra el siguiente resultado:

//this

//is

// a

//list

//de

//palabra

//con

// un

//bit

//

//Puntuación

Plataformas

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC, Xbox 360

. NET Framework y . NET Compact Framework no es compatible con todas las versiones de todas las plataformas. Consulte para obtener una lista de versiones compatibles. NET Framework requisitos del sistema.

Información de la versión

. NET Framework

Soportado por: 3.5, 3.0, 2.0, 1.1 y 1.0.

. NET Framework Lite

Soportado por las siguientes versiones: 3.5, 2.0, 1.0

XNA Framework

Soportado por las siguientes versiones: 2.0, 1.0