Mam ciąg tekstowy w języku c #, który próbuję uzyskać wszystkie słowa przed moim wyrażeniem eachDELETEDDELETED
i chcę zamienić je na listę lub tablicę. Czy ktoś może pomóc z częścią regex.
próbka tekstu:
word word word word word word 20 word-16S eachDELETEDDELETEDword word word word word word 20 word-16z1 (size 26), eachDELETEDDELETED
Regex ry = new Regex(@"eachDELETEDDELETED");
MatchCollection matchList = Regex.Matches(extracted, ry.ToString());
var list = matchList.Cast<Match>().Select(match => match.Value).ToList();
foreach (string s in list)
{
richTextBox2.Text += s + "n";
}
Odpowiedzi:
1 dla odpowiedzi № 1Po prostu użyj Regex.Split:
string example = "word word word word word word 20 word-16S eachDELETEDDELETEDword word word word word word 20 word-16S eachDELETEDDELETED";
string[] parts = Regex.Split(example, "eachDELETEDDELETED");
foreach(string part in parts)
{
Console.WriteLine(part);
}
Wyjdzie:
word word word word word word 20 word-16S
word word word word word word 20 word-16S
0 dla odpowiedzi nr 2
Dla odniesienia, można to zrobić również z wyprzedzeniem i G
Kotwica:
^|G(?:([-w]+)s*)(?!(?:eachDELETEDDELETED))
Widzieć wersja demo na regex101.com.