J'ai cette corde :
My name is Marco and I'm from Italy
J'aimerais la diviser, avec le délimiteur s Marco and
, de sorte que je devrais obtenir un tableau avec
Comment puis-je le faire en C# ?
J'ai essayé avec :
.Split("is Marco and")
Mais il ne veut qu'un seul caractère.
.Split(new string[] { "is Marco and" }, StringSplitOptions.None)
Considérez les espaces entourant "is Marco et"
. Voulez-vous inclure les espaces dans votre résultat, ou voulez-vous les supprimer ? Il est tout à fait possible que vous souhaitiez utiliser " "is Marco and "` " comme séparateur...
Vous pourriez utiliser la méthode IndexOf
pour obtenir une position de la chaîne, et la diviser en utilisant cette position, et la longueur de la chaîne de recherche.
Vous pouvez également utiliser une expression régulière. Une simple [recherche google] (http://www.dotnetperls.com/split) a donné ce résultat
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);
}
}
}
Il existe une version de string.Split
qui prend un tableau de chaînes de caractères et un paramètre StringSplitOptions
: