Register for your free account! | Forgot your password?

You last visited: Today at 06:06

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[C#.NET]

Discussion on [C#.NET] within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
Atheuz's Avatar
 
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
[C#.NET]

Also ich hab das Problem schon etwas länger, hab mich aber bis dahin nichtmehr damit beschäftigt weils einfach mir zu frustrierend war eine Lösung zu suchen.

Ich lese den Quellcode einer Seite aus und möchte aber nur zwischen einem String das als Variable bzw Array gespeichert haben, so wie es Mr. Rattelz in sein Ruby Bot gemacht hat;

Code:
if line=~/onmouseover="linfo\('(.*?)',document.getElementById\('t(.*?)'\).innerHTML/i
@plants[$2]=$1;
puts "#{$1} = #{$2}"
end
Zu dem Problem wurden mir bisher viele Vorschläge für Funkionen unterbreitet, aber ich bin anscheinend auf dem falschen Weg oder ich mache immer was falsch. Es wäre nett wenn jemand die richtige Funktion dafür kennt und mir erklären könnte wie das nun geht.
Atheuz is offline  
Old 05/15/2008, 00:35   #2
 
Atheuz's Avatar
 
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
Ich kann den Beitrag garnicht mehr editieren. Ich hab die blöde Überschrift vergessen ;_;
Atheuz is offline  
Old 05/16/2008, 11:21   #3
 
elite*gold: 20
Join Date: Sep 2006
Posts: 1,100
Received Thanks: 184
Quote:
Ich lese den Quellcode einer Seite aus und möchte aber nur zwischen einem String das als Variable bzw Array gespeichert haben, so wie es Mr. Rattelz in sein Ruby Bot gemacht hat;
Ähm, entweder bin ich blöd oder dein Satz ist etwas Twisted ^^
Wie soll etwas zwischen einem String sein oO?
Oder meinst du das du einen String der von bestimmten Strings umschlossen wird speichern willst?
Bot_interesierter is offline  
Old 05/16/2008, 16:22   #4
 
elite*gold: 0
Join Date: Oct 2005
Posts: 201
Received Thanks: 23
kann mich dem bot interesierten nur anschließen, verstehe die frage nicht
mondesser is offline  
Old 05/16/2008, 16:54   #5

 
x]vIrus[x's Avatar
 
elite*gold: 37
Join Date: Apr 2004
Posts: 2,154
Received Thanks: 250
komm ma in #elitepvpers @ quakenet
x]vIrus[x is offline  
Old 05/16/2008, 18:23   #6
 
Atheuz's Avatar
 
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
Quote:
Originally Posted by Bot_interesierter View Post
Ähm, entweder bin ich blöd oder dein Satz ist etwas Twisted ^^
Wie soll etwas zwischen einem String sein oO?
Oder meinst du das du einen String der von bestimmten Strings umschlossen wird speichern willst?
Ja genau entschuldigung

Also so in der Art; Im Quelltext ist z.B folgendes enthalten

[...]
<b>News Überschrift: "Die Kleine Waldfee"</b>
[...]

Ich möchte Die Kleine Waldfee aber in eine Variable gespeichert haben z.B einem Array. In PHP mache ich das dann so:

preg_match('|<b>News Überschrift: "(.*?)"</b>|', $file, $titel);

Somit wird mir das was als (.*?) da stand durch Die Kleine Waldfee ersetzt und im Array $titel[0] gespeichert.

Hoffe das war jetzt so verständlich Ich hab bisher zu sowas nur tutorials oder snippets gesehen die sich anscheinend intensiv mit Regex beschäftigt haben, finde ich aber schwachsinnig wenn der Inhalt immer gleich ist bzw das Schema.
Atheuz is offline  
Old 05/17/2008, 02:24   #7

 
x]vIrus[x's Avatar
 
elite*gold: 37
Join Date: Apr 2004
Posts: 2,154
Received Thanks: 250
Quote:
Originally Posted by Atheuz View Post
Ja genau entschuldigung

Also so in der Art; Im Quelltext ist z.B folgendes enthalten

[...]
<b>News Überschrift: "Die Kleine Waldfee"</b>
[...]

Ich möchte Die Kleine Waldfee aber in eine Variable gespeichert haben z.B einem Array. In PHP mache ich das dann so:

preg_match('|<b>News Überschrift: "(.*?)"</b>|', , );

Somit wird mir das was als (.*?) da stand durch Die Kleine Waldfee ersetzt und im Array gespeichert.

Hoffe das war jetzt so verständlich Ich hab bisher zu sowas nur tutorials oder snippets gesehen die sich anscheinend intensiv mit Regex beschäftigt haben, finde ich aber schwachsinnig wenn der Inhalt immer gleich ist bzw das Schema.
using System.Text.RegularExpressions;
...
...
string bla = "halloe\nfdsasd\n\nff\n<b>News Überschrift: "hohoho"</b>\nbla";
Match m = Regex.Match(bla,"<b>News Überschrift: \"(.*?)\"</b>",RegexOptions.IgnoreCase | RegexOptions.MultiLine);
if ( m.Success) console.writeline(m.groups[1].value + " <---- D;");
...
...

so in der art ^^
x]vIrus[x is offline  
Old 05/17/2008, 14:01   #8
 
elite*gold: 0
Join Date: Oct 2005
Posts: 201
Received Thanks: 23
Wenn du viel mit dem selben regex suchen willst, bietet es sich an die option RegexOptions.Compiled zu setzten. Damit dauert das instanziieren des Regex Objekts zwar etwas länger, aber dafür geht das Matchen schneller.
mondesser is offline  
Old 05/17/2008, 16:47   #9
 
Atheuz's Avatar
 
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
Danke euch beiden, hat wunderbar geklappt.
Atheuz is offline  
Old 05/17/2008, 22:12   #10
 
elite*gold: 20
Join Date: Sep 2006
Posts: 1,100
Received Thanks: 184
ach und wenn du viel an strings veränderst benutz nen Stringbuilder, ist das gleiche wie ein string nur das man ihn verändern kann ohne das neue Strings erzeugt werden, das kann viel Speicher sparen.
Bot_interesierter is offline  
Old 05/18/2008, 00:31   #11
 
Atheuz's Avatar
 
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
Quote:
Originally Posted by Bot_interesierter View Post
ach und wenn du viel an strings veränderst benutz nen Stringbuilder, ist das gleiche wie ein string nur das man ihn verändern kann ohne das neue Strings erzeugt werden, das kann viel Speicher sparen.
Beispiel? Link?
Atheuz is offline  
Old 05/18/2008, 01:32   #12
 
elite*gold: 20
Join Date: Sep 2006
Posts: 1,100
Received Thanks: 184
StringBuilder blub = new StringBuilder();
blub="Hallo";
Console.WriteLine(blub);
blub.Append(" Welt."); /* bei einem Normalen String würde hier jetzt nur eine Kopie des Strings verändert, hier wird der Inhalt des Orginalen StringBuilder verändert, also verbleiben keine Alten strings mehr im Speicher*/
Console.WriteLine(blub);


Der String Builder ist ein Object das so änlich ist wie ein Stringobject, bzw sich genau so verhält bist auf den Unterschied das bei Modifikationen keine Kopien des Strings angelegt werden.
StringBuilder hat auch ein paar eigene Methoden:
Chars: Indexer
Lenght: setzt oder ruft die länge des stringbuilders ab
Append(): Eine Überladene Public Method die einen String an das Ende des Stringbuilders anhängt
AppendFormat(): Das gleiche wie Append nur das man den String formatieren lassen kann

Ja die Methoden sind die geleichen wie bei einem String Object, ist halt sinnvol das zu verweden wenn du viele änderungen an strings durchführst.
Und nen Link hab ich gerade keinen, müsste bei msdn documentiert sein.
Der genaue Klassen Name ist System.Text.StringBuilder
Bot_interesierter is offline  
Old 05/18/2008, 22:51   #13
 
Atheuz's Avatar
 
elite*gold: 81
Join Date: Jul 2005
Posts: 1,921
Received Thanks: 2,239
Quote:
Originally Posted by Bot_interesierter View Post
StringBuilder blub = new StringBuilder();
blub="Hallo";
Console.WriteLine(blub);
blub.Append(" Welt."); /* bei einem Normalen String würde hier jetzt nur eine Kopie des Strings verändert, hier wird der Inhalt des Orginalen StringBuilder verändert, also verbleiben keine Alten strings mehr im Speicher*/
Console.WriteLine(blub);


Der String Builder ist ein Object das so änlich ist wie ein Stringobject, bzw sich genau so verhält bist auf den Unterschied das bei Modifikationen keine Kopien des Strings angelegt werden.
StringBuilder hat auch ein paar eigene Methoden:
Chars: Indexer
Lenght: setzt oder ruft die länge des stringbuilders ab
Append(): Eine Überladene Public Method die einen String an das Ende des Stringbuilders anhängt
AppendFormat(): Das gleiche wie Append nur das man den String formatieren lassen kann

Ja die Methoden sind die geleichen wie bei einem String Object, ist halt sinnvol das zu verweden wenn du viele änderungen an strings durchführst.
Und nen Link hab ich gerade keinen, müsste bei msdn documentiert sein.
Der genaue Klassen Name ist System.Text.StringBuilder
Ich werds mal ausprobieren wenn ich das nächstesmal wieder C# offen habe, danke
Atheuz is offline  
Reply




All times are GMT +1. The time now is 06:08.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.