recortar - substring split c#




¿Cómo puedo dividir una cadena con un delimitador de cadena? (5)

Esta pregunta ya tiene una respuesta aquí:

Tengo esta cadena:

My name is Marco and I'm from Italy

Me gustaría dividirlo, con delimitador is Marco and , por lo tanto, debería obtener una matriz con

  • My name en [0] y
  • I'm from Italy en [1].

¿Cómo puedo hacerlo con C #?

Probado con

.Split("is Marco and")

Pero solo quiere una sola charla.


Estás dividiendo una cadena en una cadena secundaria bastante compleja. Usaría expresiones regulares en lugar de String.Split. El último es más para tokenizing tu texto.

Por ejemplo:

var rx = new System.Text.RegularExpressions.Regex("is Marco and");
var array = rx.Split("My name is Marco and I'm from Italy");


Podría usar el método IndexOf para obtener una ubicación de la cadena y dividirla utilizando esa posición y la longitud de la cadena de búsqueda.

También puede utilizar la expresión regular. Una simple búsqueda de google resultó con esto

using System;
using System.Text.RegularExpressions;

class Program {
  static void Main() {
    string value = "cat\r\ndog\r\nanimal\r\nperson";
    // Split the string on line breaks.
    // ... The return value from Split is a string[] array.
    string[] lines = Regex.Split(value, "\r\n");

    foreach (string line in lines) {
        Console.WriteLine(line);
    }
  }
}

Pruebe esta función en su lugar.

string source = "My name is Marco and I'm from Italy";
string[] stringSeparators = new string[] {"is Marco and"};
var result = source.Split(stringSeparators, StringSplitOptions.None);

string[] tokens = str.Split(new[] { "is Marco and" }, StringSplitOptions.None);

Si tiene un delimitador de un solo carácter (como por ejemplo , ), puede reducirlo a (tenga en cuenta las comillas simples):

string[] tokens = str.Split(',');




split