Wycinanie kawałka tekstu ze stringa

0

Krótko i jak w temacie.

Potrzebuję wyciągnąć: JJD000030059647000000001998

Z fragmentu kodu prezentującego się tak (jest to jeden string):

...
^FO78,890^A0,N,22^BY3,2,200^BCN,200,N,N,N,A^FD2LPL43100+81000000^FS
^A0,R,22^FO295,1100^FD(2L) PL43100+81000000^FS
^FO78,1165^A0,N,22^BY3,2,200^BCN,183,N,N,N,A^FDJJD000030059647000000001998^FS
^A0,R,22^FO265,1358^FD(J) JD00 003 0059647 000000001998^FS^XZ 
0

Nie zamierzam zmieniać tego tekstu, ten fragment, który chcę wyciągnąć jest w każdym pliku inny jedyne co jest stałe to JJD00003 i polecenie występujące za nim ^FS. Najlepszym rozwiązaniem tutaj było by wycięcie OD danego ciągu znaków razem z nimi do danego ciągu znaków.

1

Może regex? https://regex101.com/r/rO5uU2/1

Jak operować regexem w C# na pewno znajdziesz.

0

Kombinuje ale bez efektu. Kod wygląda tak:

                        Regex regex = new Regex(@"(JJD00003.*?)\^ FS");
                        Match match = regex.Match(dHLResponse.itemToPrintResponse[counter2].labelParted[i]);

labelParted[i] to kolejne pliki które są wrzucane do sprawdzania, jednakże match jest ciągle pusty

0

W wyrażeniu regularnym masz spację. Czy ona tam powinna być? W próbce jej nie ma.

0

Czasem drobny błąd potrafi nieźle wkurzyć :) Dzięki za pomoc, teraz mam to czego potrzebuję.

0

Witam.

Odnośnie Regexa, chciałbym się zapytać w jaki sposób podzielić nim stringa.

Na przykład mamy plik o treści:

#Coś tam bla bla bla bla
bla bla ble ble bla $
#Tam coś ble ble bla bla
blu blu ble $

Potrzebuję wyciąć każdy od # do $ i potem wrzucić je do tablicy załóżmy Reg2Tab[2]?

0

Nie wiem dlaczego ale zamieniło mi # na 1. w przykładzie

0

Nie podpinaj się po temat o czym innym. Załóż własny.

Nie potrzebujesz regexa do tego:

var elements = text.Split('$').Select(s => s.Trim('#', ' ', '\n', '\t')).ToArray();

Nie powinno się używać regexów dopóki można to sensownie zrobić w inny sposób.

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