tjaffsel Postad 19 februari, 2010 Share Postad 19 februari, 2010 Jag har en sträng som innehåller bokstäver, specialtecken och siffror, t ex: blabal6bal8balbal1bla5blabla Jag skulle vilja plocka ut vissa siffror ur strängen och addera dem. Hur gör jag det? Jag har testat lite och lyckats att plocka ut en siffra, men hur får jag ut den andra och kanske den tredje så jag kan lägga ihop dem och hur adderar jag dem? Länk till kommentar Dela på andra webbplatser More sharing options...
Cluster Postad 19 februari, 2010 Share Postad 19 februari, 2010 Du måste nog ha tydligare regler för vilka siffror/teckan du vill plocka ut än "vissa siffror" och "den andra och kanske den tredje". Antingen så vet du vilka positioner (relativt något eller absolut) ett visst tecken du vill ha eller så vet du att du vill ha alla siffror alt. tecken... Länk till kommentar Dela på andra webbplatser More sharing options...
tjaffsel Postad 19 februari, 2010 Trådskapare Share Postad 19 februari, 2010 Du måste nog ha tydligare regler för vilka siffror/teckan du vill plocka ut än "vissa siffror" och "den andra och kanske den tredje". Antingen så vet du vilka positioner (relativt något eller absolut) ett visst tecken du vill ha eller så vet du att du vill ha alla siffror alt. tecken... Nej, det förstår jag mig på. Jag vill veta hur man plockar ut flera, i detta fall: siffror, och adderar dem. Länk till kommentar Dela på andra webbplatser More sharing options...
Cluster Postad 19 februari, 2010 Share Postad 19 februari, 2010 Ok, men är det alla siffror du vill plocka ut eller är det några speciella (i så fall vad är det som gör dem speciella)? Länk till kommentar Dela på andra webbplatser More sharing options...
Micke_skane Postad 20 februari, 2010 Share Postad 20 februari, 2010 Eftersom jag gillar utmaningar och javascript skrev jag ett exempel där du kan välja mellan vilket sätt du vill summera utvalda siffror/kombinationer [log] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="sv" xml:lang="sv"> <head> <meta http-equiv="Content-type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Language" content="sv" /> <title>Untitled</title> <script type="text/javascript"> var strText="das#4fgt5tr6yt#7hhhhh8"; function Init() { document.getElementById("VisaText").innerHTML="Text: "+strText.bold(); } function GetNumbersInText() { var arrDigits=strText.match(/\d+/g); var arrSpecialDigits=strText.match(/#\d/g); var oSearchWay=document.getElementsByName("SearchWay"); var oVisaSumma=document.getElementById("VisaSumma"); var summa=0; if(oSearchWay[0].checked){ for(i=0;i<=arrDigits.length-1;i++) { summa+=parseInt(arrDigits[i]); } } else { for(x=0;x<=arrSpecialDigits.length-1;x++) { var strSpecialDigits=arrSpecialDigits[x].match(/\d+/g); summa+=parseInt(strSpecialDigits); } } oVisaSumma.innerHTML=summa; } </script> </head> <body onload="Init();"> <p id="VisaText"></p> <input type="Radio" name="SearchWay" value="1" checked="checked" />Enkel summering(siffra)<br /> <input type="Radio" name="SearchWay" value="2" />Avancerad summering(#siffra)<br /><br /> <p id="VisaSumma"></p> <input type="Button" onclick="GetNumbersInText();" value="Summera" /> </body> </html> [/log] Länk till kommentar Dela på andra webbplatser More sharing options...
tjaffsel Postad 20 februari, 2010 Trådskapare Share Postad 20 februari, 2010 Eftersom jag gillar utmaningar och javascript skrev jag ett exempel där du kan välja mellan vilket sätt du vill summera utvalda siffror/kombinationer [log] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="sv" xml:lang="sv"> <head> <meta http-equiv="Content-type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Language" content="sv" /> <title>Untitled</title> <script type="text/javascript"> var strText="das#4fgt5tr6yt#7hhhhh8"; function Init() { document.getElementById("VisaText").innerHTML="Text: "+strText.bold(); } function GetNumbersInText() { var arrDigits=strText.match(/\d+/g); var arrSpecialDigits=strText.match(/#\d/g); var oSearchWay=document.getElementsByName("SearchWay"); var oVisaSumma=document.getElementById("VisaSumma"); var summa=0; if(oSearchWay[0].checked){ for(i=0;i<=arrDigits.length-1;i++) { summa+=parseInt(arrDigits[i]); } } else { for(x=0;x<=arrSpecialDigits.length-1;x++) { var strSpecialDigits=arrSpecialDigits[x].match(/\d+/g); summa+=parseInt(strSpecialDigits); } } oVisaSumma.innerHTML=summa; } </script> </head> <body onload="Init();"> <p id="VisaText"></p> <input type="Radio" name="SearchWay" value="1" checked="checked" />Enkel summering(siffra)<br /> <input type="Radio" name="SearchWay" value="2" />Avancerad summering(#siffra)<br /><br /> <p id="VisaSumma"></p> <input type="Button" onclick="GetNumbersInText();" value="Summera" /> </body> </html> [/log] Kan jag plocka ut samma siffror ur en sträng? Antag att det i strängen förekommer siffran 4 på tre olika ställen. Går det att plocka ut 4:an och lägga ihop dem? Länk till kommentar Dela på andra webbplatser More sharing options...
Micke_skane Postad 20 februari, 2010 Share Postad 20 februari, 2010 Går det att plocka ut 4:an och lägga ihop dem?Har du testat scriptet, för det är precis det scriptet gör.Du kan ju enbart fylla texten med bokstäver och 4:or och då summeras alla 4:or eftersom det är siffror. Eller missuppfattar jag vad du vill göra...? Länk till kommentar Dela på andra webbplatser More sharing options...
tjaffsel Postad 10 mars, 2010 Trådskapare Share Postad 10 mars, 2010 Har du testat scriptet, för det är precis det scriptet gör. Du kan ju enbart fylla texten med bokstäver och 4:or och då summeras alla 4:or eftersom det är siffror. Eller missuppfattar jag vad du vill göra...? Det kan ju finnas olika siffror och man kanske bara vill summera vissa. Man kanske vill plocka ut två treor ur en sifferkombination. Länk till kommentar Dela på andra webbplatser More sharing options...
Micke_skane Postad 11 mars, 2010 Share Postad 11 mars, 2010 Man kanske vill plocka ut två treor ur en sifferkombinationÄr det nått sånt här du tänkt dig?Sen är det frågan om t ex 66 är två sexor eller talet 66... [log] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="sv" xml:lang="sv"> <head> <meta http-equiv="Content-type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Language" content="sv" /> <title>Untitled</title> <script type="text/javascript"> var strText="das#4fgt5tr6yt#7hh6h6l6hh8"; function Init() { document.getElementById("VisaText").innerHTML="Text: "+strText.bold(); } function GetNumbersInText() { var arrDigits=strText.match(/\d+/g); var arrSpecialDigits=strText.match(/#\d/g); var oSearchWay=document.getElementsByName("SearchWay"); var oVisaSumma=document.getElementById("VisaSumma"); var strAddNumbers=""; var summa=0; if(oSearchWay[0].checked){ for(i=0;i<=arrDigits.length-1;i++) { strAddNumbers+=arrDigits[i]+"+"; summa+=parseInt(arrDigits[i]); } } if(oSearchWay[1].checked) { for(x=0;x<=arrSpecialDigits.length-1;x++) { var strSpecialDigits=arrSpecialDigits[x].match(/\d+/g); strAddNumbers+=strSpecialDigits+"+"; summa+=parseInt(strSpecialDigits); } } if(oSearchWay[2].checked) { var strSelValue = document.getElementById("digits").value; for(i=0;i<=arrDigits.length-1;i++) { if(arrDigits[i]==strSelValue) { strAddNumbers+=arrDigits[i]+"+"; summa+=parseInt(arrDigits[i]); } } } oVisaSumma.innerHTML=strAddNumbers.substr(0,strAddNumbers.length-1)+" = "+summa; } function ToggleDigitsSel(strValue) { var oSel = document.getElementById("DivDigits"); oSel.style.display=(strValue==3)? "block":"none"; } </script> </head> <body onload="Init();"> <p id="VisaText"></p> <input type="Radio" name="SearchWay" onclick="ToggleDigitsSel(this.value);" value="1" checked="checked" />Enkel summering(siffra)<br /> <input type="Radio" name="SearchWay" onclick="ToggleDigitsSel(this.value);" value="2" />Avancerad summering(#siffra)<br /> <input type="Radio" name="SearchWay" onclick="ToggleDigitsSel(this.value);" value="3" />Unik siffra<br /><br /> <div id="DivDigits" style="display:none"> <select id="digits" name="digits"> <option value="0">Valj...</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> </select> </div> <p id="VisaSumma"></p> <input type="Button" onclick="GetNumbersInText();" value="Summera" /> </body> </html> [/log] Länk till kommentar Dela på andra webbplatser More sharing options...
tjaffsel Postad 11 mars, 2010 Trådskapare Share Postad 11 mars, 2010 Är det nått sånt här du tänkt dig? Sen är det frågan om t ex 66 är två sexor eller talet 66... [log] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="sv" xml:lang="sv"> <head> <meta http-equiv="Content-type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Language" content="sv" /> <title>Untitled</title> <script type="text/javascript"> var strText="das#4fgt5tr6yt#7hh6h6l6hh8"; function Init() { document.getElementById("VisaText").innerHTML="Text: "+strText.bold(); } function GetNumbersInText() { var arrDigits=strText.match(/\d+/g); var arrSpecialDigits=strText.match(/#\d/g); var oSearchWay=document.getElementsByName("SearchWay"); var oVisaSumma=document.getElementById("VisaSumma"); var strAddNumbers=""; var summa=0; if(oSearchWay[0].checked){ for(i=0;i<=arrDigits.length-1;i++) { strAddNumbers+=arrDigits[i]+"+"; summa+=parseInt(arrDigits[i]); } } if(oSearchWay[1].checked) { for(x=0;x<=arrSpecialDigits.length-1;x++) { var strSpecialDigits=arrSpecialDigits[x].match(/\d+/g); strAddNumbers+=strSpecialDigits+"+"; summa+=parseInt(strSpecialDigits); } } if(oSearchWay[2].checked) { var strSelValue = document.getElementById("digits").value; for(i=0;i<=arrDigits.length-1;i++) { if(arrDigits[i]==strSelValue) { strAddNumbers+=arrDigits[i]+"+"; summa+=parseInt(arrDigits[i]); } } } oVisaSumma.innerHTML=strAddNumbers.substr(0,strAddNumbers.length-1)+" = "+summa; } function ToggleDigitsSel(strValue) { var oSel = document.getElementById("DivDigits"); oSel.style.display=(strValue==3)? "block":"none"; } </script> </head> <body onload="Init();"> <p id="VisaText"></p> <input type="Radio" name="SearchWay" onclick="ToggleDigitsSel(this.value);" value="1" checked="checked" />Enkel summering(siffra)<br /> <input type="Radio" name="SearchWay" onclick="ToggleDigitsSel(this.value);" value="2" />Avancerad summering(#siffra)<br /> <input type="Radio" name="SearchWay" onclick="ToggleDigitsSel(this.value);" value="3" />Unik siffra<br /><br /> <div id="DivDigits" style="display:none"> <select id="digits" name="digits"> <option value="0">Valj...</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> </select> </div> <p id="VisaSumma"></p> <input type="Button" onclick="GetNumbersInText();" value="Summera" /> </body> </html> [/log] Länk till kommentar Dela på andra webbplatser More sharing options...
tjaffsel Postad 11 mars, 2010 Trådskapare Share Postad 11 mars, 2010 raderat- fixade det själv. Länk till kommentar Dela på andra webbplatser More sharing options...
Rekommendera Poster
Arkiverat
Det här ämnet är nu arkiverat och är stängt för ytterligare svar.