Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Wie kann ich mit VBS eine Zeichenkette in einer Variablen vertauschen?

Mitglied: tiweb

tiweb (Level 1) - Jetzt verbinden

02.12.2007, aktualisiert 03.12.2007, 3922 Aufrufe, 6 Kommentare

Wie kann ich mit VBS eine Zeichenkette in einer Variablen vertauschen?

Beispiel:
vorher: Mustermann, Elke & Die Mustermänner
nachher: Elke Mustermann & Die Mustermänner

Hat jemand eine Lösung dafür?

Danke!
Mitglied: bastla
02.12.2007 um 19:23 Uhr
Hallo tiweb!

Falls der Algorithmus lautet: "Nimm den Teil nach der ersten Kombination 'Komma + Leerzeichen' bis zum nächsten Leerzeichen (inklusive), setze diesen Teil an den Anfang und entferne das Komma", ginge es etwa so:
01.
Vorher = "Mustermann, Elke & Die Mustermänner" 
02.
Delim1 = ", " 
03.
ToRemove = "," 
04.
Delim2 = " " 
05.
 
06.
LDelim1 = Len(Delim1) 
07.
LDelim2 = Len(Delim2) 
08.
 
09.
KPos = InStr(Vorher, Delim1) 
10.
If KPos > 0 Then 
11.
	Start = KPos + LDelim1 
12.
	LPos = InStr(Start, Vorher, Delim2) 
13.
	If LPos > 0 Then 
14.
		Ende = LPos + LDelim2 
15.
		Nachher = Mid(Vorher, Start, Ende - Start) & Replace(Left(Vorher, Start - 1), ToRemove, "") & Mid(Vorher, Ende) 
16.
	Else 
17.
		'kein nächstes Leerzeichen gefunden, daher ... 
18.
		Nachher = Mid(Vorher, Start) & Delim2 & Replace(Left(Vorher, Start - 1), ToRemove, "")    	End If 
19.
Else 
20.
	'kein "Komma + Leerzeichen" enthalten 
21.
	Nachher = Vorher 
22.
End If 
23.
If Nachher <> "" Then WScript.Echo Nachher Else WScript.Echo "Hat leider nicht geklappt."
Die beschriebene Vorgangsweise führt zwar von Deinem "Vorher" zu Deinem "Nachher", basiert aber nur auf einer Annahme meinerseits (und ist aus diesem Grund auch nur als Entwurf zu verstehen).

Vielleicht beschreibst Du die Kriterien für die Zerlegung (ob zB immer ein "&" den Beginn des nächsten Teiles kennzeichnet) und die Vorgangsweise für die noch offen gebliebenen "Else"-Zweige etwas näher ...

Grüße
bastla

[Edit] "Else"-Zweige auf Basis von tiweb's untenstehenden Vorgaben ergänzt. [/Edit]
Bitte warten ..
Mitglied: tiweb
02.12.2007 um 19:37 Uhr
Hallo bastla,
Dein Vorschlag sieht schon recht gut aus, das bringt mich schon weiter.
Danke für die Antwort!

Der/Die else-Zweig(e) sollte(n) so aussehen:

1 else-Zweig
vorher. Mustermann, Elke
nachher: Elke Mustermann

2 else-Zweig
vorher. Elke Mustermann
nachher: Elke Mustermann
In diesem else-Zweig gibt es also nichts zu tun.

Gruß,
tiweb
Bitte warten ..
Mitglied: bastla
02.12.2007 um 20:19 Uhr
Hallo tiweb!

Ich habe die beiden "Else"-Zweige gleich oben ergänzt ...

Grüße
bastla
Bitte warten ..
Mitglied: tiweb
03.12.2007 um 06:39 Uhr
Hallo bastla,
alles SUPER funktionierte sofort.
Ich danke Dir für den VBS Code!

Gruß,
tiweb
Bitte warten ..
Mitglied: bastla
03.12.2007 um 07:02 Uhr
Hallo tiweb!

Freut mich, wenn's passt - das kannst Du übrigens so noch deutlicher machen ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
03.12.2007 um 07:35 Uhr
Moin tiweb,

danke für die nette Rückmeldung an bastla.

Bitte das nächste Mal zusätzlich - als i-Tüpfelchen sozusagen - noch den grünen "Gelöst"-Haken setzen.

Danke und schönen Montagmorgen
Biber
[Edit] @bastla - Sorry, hatte Dich wieder mal übersehen..
@tiweb - Okay, okay, von zwei Seiten solltest Du es auch nicht aufs Brot geschmiert bekommen... so schlimm war es nun auch nicht...[/Edit]
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Zeichenkette variable kürzen
gelöst Frage von snowdreamBatch & Shell2 Kommentare

Hallo zusammen, ich möchte einen String bearbeiten. Die Anzahl der Zeichen soll allerdings variabel sein, und genau hier komme ...

Batch & Shell
Variable aus VBS in Batch einlesen
gelöst Frage von racer1601Batch & Shell4 Kommentare

Hallo ich habe das Problem das ich die Variable "Ordner" aus einem VBS Script nicht in meine Batch bekomme. ...

Windows 10

Vbs oder batch zum Ändern von Dateinamen ab Zeichenkette

gelöst Frage von vbaGastWindows 1013 Kommentare

Guten Tag, nach meinen bisherigen Recherchen wird das Problem mit Batch eher schwierig zu lösen sein. Daher würde auch ...

VB for Applications

Bestimmtes Arrayfeld mit Variable aufrufen? - VBS

gelöst Frage von gabrixlVB for Applications10 Kommentare

Hallo zusammen! Ist es möglich ein Arrayfeld mit einer Variable aufzurufen, anstatt eine Zahl zu verwenden? Das war meine ...

Neue Wissensbeiträge
E-Mail
Email-Apps und Verhalten bei Pop3
Erfahrungsbericht von kfranzk vor 2 TagenE-Mail10 Kommentare

Hallo Freunde, da mir mein diesbezüglicher Faden als gelöst markiert wurde, muss ich hier neu aufsetzen. Ich arbeite bewusst ...

Hyper-V

Optimiertes Ubuntu per Microsoft Hyper-V-Schnellerstellung verfügbar

Anleitung von Frank vor 2 TagenHyper-V

Für Microsofts Virtualisierungssoftware Hyper-V ist ab sofort auch ein optimiertes Ubuntu 18.04.1 LTS verfügbar. In der "Hyper-V-Schnellerstellung" App, die ...

Sicherheits-Tools

Trend Micro WorryFree Business Security (WFBS) 10 - neuer Patch 1470 verfügbar

Tipp von VGem-e vor 2 TagenSicherheits-Tools1 Kommentar

Servus, mal sehen, ob mit Patch 1470, zu finden unter dann die angeblich fehlerhafte Funktion, die unter W10 im ...

Server-Hardware

Lösung für Ersatz eines defekter Raid-Controllers

Anleitung von wellknown vor 2 TagenServer-Hardware4 Kommentare

Hallo, da ich nichts gefunden habe und selbst eine Lösung brauchte, hier eine kleine Anleitung für alle die vor ...

Heiß diskutierte Inhalte
Tipps & Tricks
Nagstamon und PRTG Monitoring
Frage von Der.ITlerTipps & Tricks13 Kommentare

Hallo Ihr, heute am Sonntag bin ich mal früh aufgestanden um mich mit dem Problem von Gestern zu beschäftigen. ...

Batch & Shell
Bestimmte Textpassagen via bat löschen
gelöst Frage von Grisu84Batch & Shell10 Kommentare

Hallo, ich habe eine txt-Datei, in welcher ich durch eine bat bestimmte Zeilen löschen möchte. So soll die Datei ...

Windows 10
Windows 10 PC stürzt in letzter Zeit mit verschiedenen Fehlermeldungen ab (Bluescreen)
Frage von cyb012Windows 1010 Kommentare

Hallo zusammen, mein Rechner verabschiedet sich in letzter Zeit leider immer öfters. Meine Austattung, falls relevant: Arbeitsspeicher: 16GB G.Skill ...

Verschlüsselung & Zertifikate
Windows 10 - 2 Partitionen mit Bitlocker verschlüsselt - kein Wiederherstellungssschlüssel vorhanden
Frage von JosuanVerschlüsselung & Zertifikate9 Kommentare

Hallo zusammen, nach einem Bios/Firmware/Treiberupdate fragt Bitlocker nun vor dem Windowsstart nach dem Wiederherstellungsschlüssel, dieser wurde damals leider auf ...