01. marts 2006 - 17:18Der er
18 kommentarer og 1 løsning
Find String og gem tegn i variabel
Hey!
Jeg vil forklare hvad jeg skal bruge med følgende eksempel...
dette er f.eks. min string : "her er en lille historie om START en bjørn STOP som går en START tur STOP i skoven" jeg skal så bruge en funktion der finder alle START (og STOP) og gemmer hvad der står derimellem (dvs 'en bjørn' og 'tur') i hver sin variabel(/array... for der er et ukendt antal start/stop)...
Jeg har ingen idé om hvor svært dette er og om det kan lade sig gøre?!
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
using System; using System.Text.RegularExpressions;
namespace e691908 { class Program { static void Main(string[] args) { string dinTekst = "her er en lille historie om START en bjørn STOP som går en START tur STOP i skoven";
Regex r = new Regex(@"START\s*(?<ord>.*?)\s*STOP"); Match m = r.Match(dinTekst); while (m.Success) { Console.WriteLine(m.Groups["ord"].Value); m = m.NextMatch(); } } } }
hmmm... nu ser min kode sådan her ud; ---------------- private void button2_Click(object sender, System.EventArgs e) { WebRequest wr = WebRequest.Create(textBox1.Text); string html = new StreamReader(wr.GetResponse().GetResponseStream()).ReadToEnd(); textBox2.Text = html; string startBetingelse = textBox3.text; string stopBetingelse = textBox4.text;
Regex r = new Regex(startBetingelse + @"\s*(?<ord>.*?)\s*" + stopBetingelse); Match m = r.Match(html); while (m.Success) { //textBox5.AppendText = m.Groups["ord"].Value; m = m.NextMatch(); } } -------------
men så melder den den der fejl igen --> "'System.Windows.Forms.Control.text' is inaccessible due to its protection level" ... og refererer til textbox3 og 4... ?!
hmm... den har lidt problemer med hvis der er linie skift i den string man undersøger... er det noget du umiddelbart har en løsning på?? Så vidt jeg kan teste mig frem til opstår fejlen når der er et linieskift i den string den får mellem START- og STOP-betingelserne...
eksempel... hvis html = ---- </div> </body> </html> ---- hvis START = "</div>" og SLUT = "</html>", giver den resultatet </body>... MEN... hvis nu START = "</di" og SLUT = "</html>", så giver den intet resultat!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.