He estado usando el método Split()
para dividir cadenas, pero esto solo parece funcionar si está dividiendo una cadena por un carácter. ¿Hay alguna manera de dividir un string
, con otra cadena dividida por parámetro? Intenté convertir el divisor en una matriz de caracteres, sin suerte.C# Dividir una cadena por otra cadena
En otras palabras, me gustaría dividir el string
:
THExxQUICKxxBROWNxxFOX
por xx
y devolver una matriz con los valores:
LA, rápido, BROWN, FOX
verdad es que acabé cambiando mi respuesta a esto por 2 razones: # 1: para hacer frente a las divisiones que quiero hacer yo tendría que usar Regex.Escape, porque mi Separar una cadena menudo contendrá asteriscos , etc. # 2: Si bien este programa que estoy escribiendo no necesita una optimización real, d Parece que los costes indirectos adicionales implican el uso del método Regex Split. – Brandon
En mi defensa, Jon Skeet sugirió algún lugar para usar Regex al dividir cadenas con cadenas como separador, y tengo que admitirlo cuando sugiera algo. Tiendo a creer que rara vez es un mal consejo. ('Aunque es probable que desee dividir por cadena en lugar de caracteres, en cuyo caso, querrá ver Regex.Split') – Peter
@Peter: en esa publicación Jon lo sugiere porque el cartel no tiene una dirección fija delimitador; él está buscando dividir cadenas separadas por "más de un espacio" (es decir, 2+). Para cadenas delimitadas por un * patrón * en lugar de un * valor *, RegEx es una gran opción (bueno, la * única *). Para los delimitadores de valores fijos, introduce una sobrecarga innecesaria. Intenta ejecutar una prueba; a medida que aumenta el número de operaciones, RegEx termina tomando alrededor de ~ 10x tan largo como un 'string.Split' correspondiente. –