Regex.Replace i String.Replace nie działają dla \n\r

0

Witam.

Mam następujący problem.
Mianowicie potrzebuję przekształcić stringa, by metoda Regex.Matches mogła przeszukać bardzo długiego stringa.
Niestety nie działa ona ponieważ entery blokują przeszukiwanie dalej pliku.

Moim pierwszym podejściem była próba zamienienia \r\n na zwyczajną spację, jednakże to nie działa i ciągle dostaję taki sam plik jak przed próbą konwersji. Oto moje próby

...
//File.Replace("\r\n", " ");
string result = Regex.Replace(File, "\r\n", " ");

Regex regex2split = new Regex("(XA.*?)XZ");

//foreach (Match match in Regex.Matches("(XA.*?)XZ", File))
foreach (Match match in regex2split.Matches(File))
{
    Console.WriteLine("Found '{0}' at position {1}", match.Value, match.Index);
}
...

Może istnieje jakiś sposób by regex przy przeszukiwaniu stringa nie zacinał się na enterze?

1

Ogólnie masz coś takiego jak "RegexOptions.Multiline" przykład:

MatchCollection matches = Regex.Matches(multilineStringFromFile, "(XA.*?)XZ", RegexOptions.Multiline);
0

Dzięki. Co prawda w moim przypadku podziałała opcja Singleline, Multiline nie działało.

Na koniec jeszcze jedno pytanie, ponieważ to moje pierwsze starcie z regexem. Jak podzielony plik zapisany w stringu wg powyższego schematu zapisać teraz w tablicy stringów?

1

W sensie dopasowania?

MatchCollection matches = Regex.Matches(multilineStringFromFile, "(XA.*?)XZ", RegexOptions.Multiline);
List<string> captureValues = new List<string>();
foreach (Match match in matches)
{
    foreach (Capture capture in match.Captures)
    {
        captureValues.Add(capture.Value);
    }
}
0
MatchCollection matchList = Regex.Matches(Content, Pattern);
var list = matchList.Cast<Match>().Select(match => match.Value).ToList(); 
  1. https://www.google.nl/search?q=regex+to+list+C%23&oq=regex+to+list+C%23&aqs=chrome..69i57.5055j0j1&sourceid=chrome&ie=UTF-8

  2. http://stackoverflow.com/questions/12730251/convert-result-of-matches-from-regex-into-list-of-string

  3. jest na samym poczatku ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1