Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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?

Frage Entwicklung VB for Applications

Mitglied: tiweb

tiweb (Level 1) - Jetzt verbinden

02.12.2007, aktualisiert 03.12.2007, 3870 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Teilstring nach Splitten in Variablen schreiben vbs (2)

Frage von goodbytes zum Thema Batch & Shell ...

VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
Eventlog Druckjobs mit VBS auslesen (2)

Frage von joni2000de zum Thema Batch & Shell ...

VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...