Problem polega na tym ,że w kodzie który powinien działać dla obu linijek html działa odpowiednio tylko dla jednej a gdy sprawdzam na regexr.com to działa odpowiednio dla obu.
linia[0]=\nd class="red">-2,10</td>72.99</td>70.82</
i tutaj jako wynik zwraca mi samo "10" zamiast -2,10
QRegExp re("...............([a-z,A-Z\\>""=]+)([-+,0-9]+)<.td><td>[.0-9<\/a-z<>]+");
QString str=linia[0];
qDebug()<<str;
QString list;
int pos=0;
while((pos=re.indexIn(str, pos))!=-1){
list =list+ re.cap(2);
pos+=re.matchedLength();
}
int dlugosc5=list.size();
for(int i=0;i<dlugosc5;i++)
{
if(list[i]==',')
{
list[i]='.';
}
}
wynik=list;
Drugi kod:
QRegExp re("...............([a-z,A-Z\\>""=]+)([-+,.0-9]+)<.td><td>[.0-9<\/a-z<>]+..........");
QString str=linia[1];
qDebug()<<str;
QString list;
int pos=0;
while((pos=re.indexIn(str, pos))!=-1){
list=list+re.cap(2);
pos+=re.matchedLength();
}
int dlugosc5=list.size();
for(int i=0;i<dlugosc5;i++)
{
if(list[i]==',')
{
list[i]='.';
}
}
wynik2=list;
Wygląda tak samo tylko ,że podana jest linia[1] a zamiast wynik jest wynik2
linia[1]=><td class="green">+0,20</td>54.9</td>54
I tutaj ładnie wynik2 zwraca +0,20 tak jak powinno być
W czym jest problem czemu kod1 zwraca mi tylko "10" zamiast -2,10?