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, 3928 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
Microsoft Office
Microsoft Excel VBS
gelöst Frage von Mohji32Microsoft Office6 Kommentare

Guten Tag liebe Leute, ich kenne mich leider nicht sehr gut mit VBS aus aber habe angefangen mich einzuarbeiten. ...

VB for Applications
Excel VBS Datenvergleich
Frage von rocco61VB for Applications

Hallo zusammen, möchte ein Excel Makro in VB, das mit die Gleichheit von 2 Zellen in einer Meldung ausgibt. ...

VB for Applications
Vbs Script Hilfe
gelöst Frage von Dr.CornwallisVB for Applications3 Kommentare

Liebe Gemeinde, hat von euch zufällig jemand ein VBs Script das folgendes o.ä macht: Das Script wird per GPO ...

VB for Applications
VBS Taskkill PID
gelöst Frage von DanteGabrielVB for Applications8 Kommentare

Hallo zusammen, ich habe ein kleines Problem mit einem VBS Script. Aktuell möchte ich ein Script zum neustarten einiger ...

Neue Wissensbeiträge
Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 2 TagenOff Topic

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Webbrowser
Microsoft bestätigt Edge mit Chromium-Kern
Information von Frank vor 2 TagenWebbrowser5 Kommentare

Microsoft hat nun in seinem Blog bestätigt, dass die nächste Edge Version kein EdgeHTML mehr für die Darstellung benutzen ...

Sicherheit

MikroTik: Sicherheitslücke wird ausgenutzt obwohl ein Update seit langem verfügbar ist

Information von sabines vor 2 TagenSicherheit

Obwohl ein Update, dass die nun massenhaft ausgenutzte Lücke schließt, seit langem (März 2018) verfügbar ist, wird es offensichtlich ...

Informationsdienste
Gut getarnter Trojaner unterwegs (Emotet)
Information von nepixl vor 4 TagenInformationsdienste3 Kommentare

Hallo, quick & dirty: ein neuer Cryptotrojaner sorgt wieder für Millionenschäden. BSI Artikel Heise Artikel Der Trojaner kommt in ...

Heiß diskutierte Inhalte
Rechtliche Fragen
Systemhaus auf Abwegen
Frage von rocco61Rechtliche Fragen12 Kommentare

Hallo zusammen, bin derzeit ratlos bei dem folgenden Scenario: In einen Seniorenheim wurde beschlossen, die IT an eine andere ...

Exchange Server
Exchange Server 2010: Keine Eingehenden E-MAils
Frage von gabeBUExchange Server10 Kommentare

Hallo Zusammen Ich habe das kurzen auf dem Exchange 2010 Server das Problem, dass ich keine externen E-Mails mehr ...

Router & Routing
MikroTik - Routing, Bridging, Switching
gelöst Frage von Alex29Router & Routing9 Kommentare

Hallo in die Runde, als Hobby-Admin würde ich bitte mal wieder Eure Hilfe benötigen. Seit der Umstellung auf RouterOS ...

Windows Server
HP Proliant DL 380G7 ILO2 Problem und DL 580G6 OS Prolem
gelöst Frage von Home-NeulingWindows Server6 Kommentare

Hallo, ich bin neu hier, und hoffe das ich hier jetzt auch richtig Poste. Ich habe mir zuhause ein ...