Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin

Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Tutorials
Autor
Nachricht
Marduk
Überflieger
Überflieger

Anmeldedatum: 16.04.2008
Beiträge: 374

String - Manipulation
Verfasst am: 07.05.2008, 14:11

So,

hier werde ich euch mal ein paar kleine Funktionen vorstellen, mit denen ihr Strings bearbeiten könnt.

Methode:Contains()
Sucht das angegebene Zeichen im String

Syntax: contains(value as String) as Boolean
Value: Das zu suchende Zeichen

Bei true ist das Zeichen im String vorhanden, bei false nicht.

Beispiel:
Dim sText as String = "abcdefghj"
Dim bStat as Boolean = sText.Contains("b")

Ausgabe: true




Methode:Replace()
Ersetzt alle angegebenen Zeichen durch die neuen Zeichen
Syntax: replace(oldChar as Char, newChar as Char) as String
oldChar: Das zu ersetztende Zeichen
newChar: Das einzusetztende Zeichen

Gibt den neuen String zurück

Beispiel:
Dim sText as String = "Guten Tag"
Dim bStat as String = sText.replace("Tag", "Abend")

Ausgabe: "Guten Abend"


Methode:IndexOf()
Gibt den Index im String des Zeichens zurück
Syntax: indexof(value as Char [value as String], startIndex as Integer, count as Integer) as String
value: Das zu suchende Zeichen/ Der zu suchende String
startIndex: Stelle ab der zu suchen sein soll – Standard ist Index 0
count: Gibt an wie viele Stellen ab dem startIndex er suchen soll

Gibt den Index als Integer-Wert zurück

Beispiel:
Dim sText as String = "Guten Tag"
Dim iIndex as Integer = sText.IndexOf("e")

Ausgabe: 3 nullbasierender Index!


Methode:ToLower() & ToUpper()
Wandelt alle Zeichen in Kleinbuchstaben/Großbuchstaben um
Syntax: tolower() as String toupper() as String

Beispiel:
Dim sText as String = "Guten Tag"
sText = sText.ToUpper()

Ausgabe: GUTEN TAG


Methode:Remove()
Syntax: remove(startIndex as Integer, count as Integer) as String
startIndex: Stelle ab der zu löschen sein soll – Standard ist Index 0
count: Gibt an wie viele Stellen ab dem startIndex er löschen soll

Beispiel:
Dim sText as String = "123456"
sText = sText.remove(2, 2)

Ausgabe: 1256


Methode:Substring()
Extrahiert aus einem String einen Teilstring, beginnend von startIndex mit der Länge length
Syntax: substring(startIndex as Integer, length as Integer) as String
startIndex: Position ab der zu beginnen ist
length: Anzahl Zeichen des zu extrahierenden Strings

Beispiel:
Dim sText as String = "Hallo Welt Programm"
sText = sText.Substring(6,4)

Ausgabe: Welt


Methode:Split()
Trennt den String an dem angegebenen Zeichen
Syntax: split(separator() as String [Char]) as String()
Separator: Gibt das Zeichen an, an dem der String getrennt werden soll

Es wird ein Stringarray zurückgegeben.

Beispiel:
Dim sText as String = "123j456"
Dim aStr() as String = sText.Split("j")

Ausgabe: 123 & 456


Eigenschaft: stringname.Chars()
Syntax: stringname.Chars(index as Integer) as Char
Gibt das Zeichen an der angegebenen Stelle als Char zurück

Beispiel: Dim sText as String = "asdfgh"
Dim cStelle as Char = sText.Chars(2)

Ausgabe: d


Eigenschaft: stringname.Length()
Syntax: stringname.Length() as Integer
Gibt die Länge des Strings als Integerwert zurück

Beispiel: Dim sText as String = "asdfgh"
Dim iCount as Integer = sText.Length()

Ausgabe: 6
_________________
 
Analegrande
Tutorial Leser
Tutorial Leser

Anmeldedatum: 01.05.2008
Beiträge: 69


Verfasst am: 27.08.2008, 22:54

Ich weiss grad nicht ob ich hier im Thread zu dem Thema hier etwas fragen darf, aber ich denke mal schon^^

wenn ich einen Text habe. Beispiel:

Visual Basic: [code][/code]Hallo vb-x.org,
guten Tag wünsche ich euch.

Ich möchte nach dem Wort "hallo" soviele stellen vorwärts gehen bis ich zum dem Wort "Tag" komme und dieses Wort dann in einer Variable speichern.

Wie muss ich da vorgehen ?

Man beachte, dass der String welchen ich ausgeben möchte eine Zeile unter dem Wort liegt von dem ich ausgehen möchte.

Gruss Anale
 
sollniss
Überflieger
Überflieger

Anmeldedatum: 01.05.2008
Beiträge: 699


Verfasst am: 28.08.2008, 00:12

Substring, ein Zeilenumbrauch sind meistens 2 Zeichen.
 
Analegrande
Tutorial Leser
Tutorial Leser

Anmeldedatum: 01.05.2008
Beiträge: 69


Verfasst am: 28.08.2008, 04:27

hm..ich habe mich schlecht ausgedrückt. Da wo das Wort "Tag" ist, könnte aber auch "Nacht", "Morgen", "Mittag" oder "Abend" Stehen. Also ich weiss nicht nicht was dort steht. Ich dachte da an eine Lösung die folgendes macht:

Das Wort "Hallo" suchen, von "Hallo" dann 18(?) zeichen vorwärts und das folgende Wort dann ausgeben.

Ich glaube da ist es mit Substring nicht getan.

Gruss Anale
 
Marduk
Überflieger
Überflieger

Anmeldedatum: 16.04.2008
Beiträge: 374


Verfasst am: 28.08.2008, 16:53

Also du kennst die Wörter die du extrahiert haben willst (Tag, Nacht, Morgen, Mittag) ???

Wenn ja, dann kannst du mit IndexOf die Stelle von Tag/Nacht/... bestimmen und dann mit der Länge (Tag=3, Nacht=5,...) per Substring deine Wörter extrahieren.

Du könntest auch per Schleife die ersten x Zeichen (wobei x die Länge des zu suchenden Wortes ist) aus dem String nehmen, dann vergleichen ob es dein gesuchtes Wort ist. Falls nein einfach die x Zeichen ab der zweiten Stelle nehmen und vergleichen, dann ab der dritten Stelle x Zeichen, und so weiter bist du dein Wort gefunden hast, gleichzeitig hast du dann auch den Index des Wortes. Eigentlich das gleiche wie oben, nur komplizierter.
 
Analegrande
Tutorial Leser
Tutorial Leser

Anmeldedatum: 01.05.2008
Beiträge: 69


Verfasst am: 28.08.2008, 17:38

Also du kennst die Wörter die du extrahiert haben willst (Tag, Nacht, Morgen, Mittag) ???

Wenn ja, dann kannst du mit IndexOf die Stelle von Tag/Nacht/... bestimmen und dann mit der Länge (Tag=3, Nacht=5,...) per Substring deine Wörter extrahieren.


Nein das Wort ist unbekannt. Ich glaube ich habe es aber mit anderen Mitteln schaffen können. Ich muss nur noch etwas rumprobieren ^^

Danke aber auch für deinen Tipp. Wenn du aber noch einen konkreten Tipp hast un das unbekannte Wort auszulesen wäre ich froh wenn du dies noch posten würdest.

Gruss Anale
 
Marduk
Überflieger
Überflieger

Anmeldedatum: 16.04.2008
Beiträge: 374


Verfasst am: 28.08.2008, 17:47

Das Problem ist ja, WAS für ein Wort suchst du, und WOHER weisst du nach was du suchst ? ^^
 
Analegrande
Tutorial Leser
Tutorial Leser

Anmeldedatum: 01.05.2008
Beiträge: 69







[/code]

ich habe das nun so gelöst...

Visual Basic: [code]
Dim Split() As String = txtQText.Text.Split(Chr(34))
txtTempID.Text = Split(313) ' TempID = txtTempID.Text[/code]

Sorry das ich so undeutlich gefragt habe. Nächstes mal werde ich direkt Klartext schreiben^^

Ich habe also den Quelltext gesplittet. Da der unbekannte String in Anführungszeichen stand konnte ich den mit sehr langem Gesuche auslesen und in einer Textbox unterbringen aus der ich den Wert dann für weitere Verwendungen entnehmen konnte.^^

Gruss Anale

Verfasst am: 28.08.2008, 19:13

Okay, legen wir die Fakten auf den Tisch xD...

ich wollte aus einen Quelltext den Wert "LT-182871-D7AJrXJ0CqD2lOYcPiIH" auslesen. (Der unbekannte String)

Visual Basic: [code]
 
^^kev####
Überflieger
Überflieger

Anmeldedatum: 01.05.2008
Beiträge: 476
Wohnort: Haan


Verfasst am: 28.08.2008, 19:36

Du kannst es doch einfach so auslesen :confused:

Visual Basic: [code]
Dim test as String = Split(Quelltext, "[/code]
_________________
 
Analegrande
Tutorial Leser
Tutorial Leser

Anmeldedatum: 01.05.2008
Beiträge: 69


Verfasst am: 28.08.2008, 20:38

Ich versteh nicht was deine Methode genau macht.^^
Sie sucht den String aus, klar. Aber wie die Methode arbeitet kann ich nicht nachvollziehen.
 
Marduk
Überflieger
Überflieger

Anmeldedatum: 16.04.2008
Beiträge: 374


Verfasst am: 29.08.2008, 00:16

Wenn du die Substring Methode in Kombination mit der IndexOf Methode benutzen willst, brauchst du innerhalb deines Quelltextes 2 "Fixpunkte" die einzigartig sind (zb name="lt") und relativ nahe an deinem Suchwort liegen.

Das heisst "name"lt"" wäre zum Beispiel dein erster Fixpunkt. Dann bräuchtest du nahe nach dem Suchwort auch einen Fixpunkt, der einmalig ist (name Attribut eigenen sich immer gut).
Visual Basic: [code]
Dim x,y as Integer
x = source.Indexof("name=""lt""")
y = source.Indexof("zweiterFixpunkt")
Dim suchwort as string = source.substring(x,y-x).replace("name=""lt""","").replace(" ","").replace("/>","") ' ... usw.[/code]
Am Ende solltest du noch den "Unsinn" replacen lassen, damit du wirklich nur noch dein Suchwort hast.


PS: Und kev, wir sind hier im .NET Bereich Wink
_________________


 
^^kev####
Überflieger
Überflieger

Anmeldedatum: 01.05.2008
Beiträge: 476
Wohnort: Haan


Verfasst am: 29.08.2008, 11:40


(Marduk;7566)
PS: Und kev, wir sind hier im .NET Bereich Wink

Wieso kompliziert machen, wenn es auch einfach geht Wink
_________________

 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Tutorials

Tags: string, manipulation, zeichen, strings, split

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Neuen Datensatz Anfügen 192 14.08.2011, 17:54
Keine neuen Beiträge Wie kann ich mich bei euch anmelden?? 796 20.05.2002, 00:28
Keine neuen Beiträge Flooder Vorstellen 423 16.10.2007, 16:15
Keine neuen Beiträge Eine kleine Frage an euch.. 906 30.09.2007, 08:57
Keine neuen Beiträge Programm 673 27.01.2007, 22:26
 

RSSHeimkino gebraucht: Der Marktplatz
RSSGrillen V
RSSGlückskekse für jeden Tag - Dein Glückskeks für Samstag den 11.02.2012
AdSpruch
dealrabbit Gutscheine Sprüche


[ Time: 0.4444s ][ Queries: 125 (0.0438s) ][ GZIP on - Debug on ]