Έχω αυτό το string:
My name is Marco and I'm from Italy
Θα ήθελα να το χωρίσω, με διαχωριστικό είναι Marco και
, έτσι ώστε να πάρω έναν πίνακα με
Πώς μπορώ να το κάνω αυτό με την C#;
Δοκίμασα με:
.Split("is Marco and")
Αλλά θέλει μόνο ένα μόνο char.
.Split(new string[] { "is Marco and" }, StringSplitOptions.None)
Εξετάστε τα διαστήματα που περιβάλλουν τα "is Marco και"
. Θέλετε να συμπεριλάβετε τα κενά στο αποτέλεσμά σας ή θέλετε να τα αφαιρέσετε; Είναι πολύ πιθανό να θέλετε να χρησιμοποιήσετε το " είναι ο Μάρκο και "
ως διαχωριστικό...
Θα μπορούσατε να χρησιμοποιήσετε τη μέθοδο IndexOf
για να λάβετε μια θέση της συμβολοσειράς και να τη χωρίσετε χρησιμοποιώντας αυτή τη θέση και το μήκος της συμβολοσειράς αναζήτησης.
Μπορείτε επίσης να χρησιμοποιήσετε κανονική έκφραση. Μια απλή αναζήτηση στο google κατέληξε σε αυτό
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);
}
}
}
Υπάρχει μια έκδοση της string.Split
που δέχεται έναν πίνακα συμβολοσειρών και μια παράμετρο StringSplitOptions
: