Aktywne Wpisy
![](https://wykop.pl/cdn/c0834752/1060e06d466353d6cab4d161fa89b29edb0477489892df94112b0e2d757d071d,q60.jpg)
Itslilianka +589
![](https://wykop.pl/cdn/c0834752/5dbc4b505d08433919bf39c70d71bed023c9a63649bbe7a7230602c93680a0c3,q60.png)
WedkaKrillsona +125
Była sobie spokojna niedziela...
Odwiedziła z rana nas ciocia i tak se gadamy i jakoś temat spadł na wydatki i mówi do mnie, że chodzę do pracy i na nic nie wydaję bo z rodzicami mieszkam to pannicę bym sobie znalazł jaką, żeby dzieci były. To ja mówię, że nie dla mnie to poza tym wolę wydawać pieniądze na lego i gierki, to ta do mnie, że jak to, przecież gierki nie
Odwiedziła z rana nas ciocia i tak se gadamy i jakoś temat spadł na wydatki i mówi do mnie, że chodzę do pracy i na nic nie wydaję bo z rodzicami mieszkam to pannicę bym sobie znalazł jaką, żeby dzieci były. To ja mówię, że nie dla mnie to poza tym wolę wydawać pieniądze na lego i gierki, to ta do mnie, że jak to, przecież gierki nie
![](https://wykop.pl/cdn/c3201142/bcf6de43804dfafd20299f22a2ca48c67358b0288c7840b1617c534f54145e48,w150.png)
Jako ze jestem leszczem w temacie, potrzebuje wyrazenie ktory dany string:
Wartosc1;Wartosc2;Wartosc3;ZnakSpecjalny=';';Wartosc4;Wartosc5;
zesplituje po ; na
1.Wartosc1
2.Wartosc2
3.Wartosc3
4.ZnakSpecjalny=';'
5.Wartosc4
6.Wartosc5
etc
Chyba, ze znacie w c# jakis bardziej elegancki sposob, ale zalezy mi zeby w miare szybko dzialalo
#programowanie #regexp #wyrazeniaregularne #dotnet #csharp
([^;]+('[^']+')?);
EDIT lepszy support:
([^;']*('[^']*')*)*;
Komentarz usunięty przez autora
Pamiętaj, że premature optimization is the root of all evil. Regex w większości zastosowań będzie wystarczojąco szybki, a dławikiem będzie IO. Jak naprawdę potrzebujesz szybkiego parsowania to zrób sobie coś w rodzaju wykrywania indices.
pseudokod:
parse(string in) {
List result = new List();
boolean insideMarks = false;
string temp = ""
for(char c : in.chars()){
if(c=='\'') {
insideMarks = !insideMarks;
} elseif(!insideMarks&&c==';')
Komentarz usunięty przez autora
Komentarz usunięty przez autora
edit: bez regexa w javie: http://ideone.com/fOh6s3
Komentarz usunięty przez autora
string test = "Wartosc1;Wartosc2;Wartosc3;ZnakSpecjalny=';';Wartosc4;Wartosc5;";
string[] arr = Regex.Split(test, @"([^;']*('[^']*')*)*;");
Widze ze kolega lvl 99 w regexp. Co kurna zle zrobilem, ze zwraca 14 pustych elementow :<
@lume: stronka super, moze sie przelame w wolnej chwili do tego narzedzia diabla ;)
Komentarz usunięty przez autora
Sprawdź to:
@Crisu:
string test = "Wartosc1;Wartosc2;Wartosc3;ZnakSpecjalny=';';Wartosc4;Wartosc5;";
string[] arr = Regex.Split(test, @"(([^;']*('[^']*')*)*);");
Komentarz usunięty przez autora
a co musisz zrobić? Te wartości to co? Liczby czy zwykły tekst?
Może spróbuj dodać RegexOptions.Compiled?
I może pokaż jak to robiłeś w Linq:)