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

VBS String nach letztem Leerzeichen teilen

Frage Entwicklung Batch & Shell

Mitglied: citroendsvier

citroendsvier (Level 1) - Jetzt verbinden

17.01.2015, aktualisiert 11:57 Uhr, 1039 Aufrufe, 8 Kommentare

Hallo zusammen,

ich habe in VBS eine Variable, die in etwa folgenden Inhalt enthält:
01.
Intel (TM) Core (TM) i5-3570K  @ 3.4 GHz 2098209,1
Jetzt möchte ich das ganze aufteilen in zwei Teile, einmal das Core i5 Zeug (ab Anfang), und einmal die Zahl am Ende. Da vorne aber auch ein anderes CPU Modell stehen könnte, ist die Zahl der Leerzeichen nicht festgelegt. Ich müsste also beim letzten Leerzeichen teilen.
Wie kann ich das anstellen?

Ach ja, die Länge der Zahl am Ende ist leider auch nicht fest...

Mit freundlichen Grüßen, V40
Mitglied: bastla
LÖSUNG 17.01.2015, aktualisiert um 11:57 Uhr
Hallo citroendsvier!

Sollte sich etwa so lösen lassen:
01.
S = "Intel (TM) Core (TM) i5-3570K  @ 3.4 GHz 2098209,1" 
02.
P = InStrRev(S, " ") 
03.
T1 = Left(S, P - 1) 
04.
T2 = Mid(S, P + 1)
Grüße
bastla
Bitte warten ..
Mitglied: 114757
LÖSUNG 17.01.2015, aktualisiert um 11:57 Uhr
01.
str = "Intel (TM) Core (TM) i5-3570K  @ 3.4 GHz 2098209,1" 
02.
strCPU = Left(str, InStrRev(str, " ",-1,vbTextCompare)-1) 
03.
strNumber = Mid(str,InStrRev(str, " ",-1,vbTextCompare)+1)
Gruß jodel32
Bitte warten ..
Mitglied: citroendsvier
17.01.2015 um 11:05 Uhr
Hallo Bastla,
danke für deine Antwort!

Ich kriege bei deiner Lösung zwar den CPU Namen korrekt, die Variable mit der Zahl ist aber etwas... hmm. In meiner Zahl steht "TM) Core (TM) ...." usw. bis Ende der Zahl. Liegt's vielleicht an mir?

@114757: Deine Variante teste ich gleich, dir auch danke!

MfG, V40
Bitte warten ..
Mitglied: 114757
17.01.2015, aktualisiert um 11:13 Uhr
Und mit Regex gehts auch so
01.
str = "Intel (TM) Core (TM) i5-3570K  @ 3.4 GHz 2098209,1" 
02.
Set regex = CreateObject("Vbscript.regexp") 
03.
regex.pattern = "(.*) (.*)$" 
04.
set matches = regex.Execute(str) 
05.
If matches.count > 0 Then 
06.
     strCPU = matches(0).Submatches(0) 
07.
     strCPU = matches(0).Submatches(1) 
08.
End if
Bitte warten ..
Mitglied: bastla
17.01.2015 um 11:18 Uhr
Hallo citroendsvier!
Ich kriege bei deiner Lösung zwar den CPU Namen korrekt, die Variable mit der Zahl ist aber etwas... hmm.
Das Problem ist schwer nachvollziehbar - in der Variablen P steht die Zeichenposition des letzten Leerzeichens, und diese wird bei der Zerlegung für beide Bestandteile verwendet.

Poste doch mal den von Dir vewendeten Code ...

Grüße
bastla
Bitte warten ..
Mitglied: citroendsvier
17.01.2015, aktualisiert um 11:57 Uhr
Das mach ich jetzt... ich blick selber nicht mehr durch

01.
Set File = FSO.OpenTextFile("Data.txt", ForReading, false) 
02.
Dim OtherCPU(9) 
03.
i = 0 
04.
while not File.AtEndOfStream and i < 10 
05.
	OtherCPU(i) = File.ReadLine 
06.
	i = i + 1 
07.
Wend 
08.
i = i - 1 
09.
Dim Laenge(15), SplittenCPU(10), SplittenPoints(10), P(20), S(20) 
10.
for a = 0 To i 
11.
	Laenge(a) = len(OtherCPU(a)) 
12.
	 
13.
	OtherCPU(a) = Mid(OtherCPU(a), 42) ' "Benutzer...mit dem" wegmachen 
14.
	Laenge(a) = len(OtherCPU(a)) 
15.
	OtherCPU(a) = Left(OtherCPU(a), Laenge(a)-16) 
16.
	 
17.
	P(a) = InStrRev(OtherCPU(A), " ") 
18.
	S(a) = InStr(OtherCPU(a), " ") 
19.
	SplittenCPU(a) = Left(OtherCPU(a), P(a) - 1) 
20.
	'SplittenPoints(a) = Right(OtherCPU(a), P(a) + 1) 
21.
	 
22.
	 
23.
	MsgBox OtherCPU(a) & vbCr & SplittenCPU(a) & "." & vbCr & SplittenPoints(a) & "." & vbCr & P(A) & vbCr & S(A) 
24.
Next
Bitte warten ..
Mitglied: bastla
LÖSUNG 17.01.2015, aktualisiert um 11:57 Uhr
Hallo citroendsvier!

Wenn Du dich entschließen kannst, anstelle von Right das (auch vom Kollegen jodel32 in seinem ersten Ansatz) vorgeschlagene Mid zu verwenden, sollte das auch bei Dir funktionieren ...

Grüße
bastla

P.S.: Zumindest für P und S wären einfache Variablen ausreichend ...
Bitte warten ..
Mitglied: citroendsvier
17.01.2015 um 11:57 Uhr
Vielen Dank! Jetzt klappts.

Ja, stimmt. Danke!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Schreiben eines Strings mit Leerzeichen in eine Datei
gelöst Frage von c20082005Batch & Shell6 Kommentare

Hallo, nach langem Rum- und Ausprobieren möchte ich Euch um Hilfe bitten für folgendes Problem: Ich möchte mit einer ...

Batch & Shell
Teil eines Strings löschen
gelöst Frage von Dnis822Batch & Shell18 Kommentare

Hallo zusammen, ich komme gerade bei folgendem Punkt nicht weiter: Ich habe eine Datei die völlig unformatiert ist, das ...

Batch & Shell
Teil eines Strings als Variable setzen
gelöst Frage von tHe-jAyBatch & Shell2 Kommentare

Hallo, für ein kleines Batch-Script benötige ich einen Servicenamen als Variable. Den Servicenamen frage ich über folgenden Befehl ab: ...

Windows Tools
Powershell: Aus String die letzten Werte ermitteln
Frage von ColoneltwWindows Tools3 Kommentare

Hallo liebe Foristen, ich sitze an einem kleinen Powershell Problem. Ich habe einen UNC Pfad und möchte das letzte ...

Neue Wissensbeiträge
Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 24 MinutenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 14 StundenInternet2 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 18 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 18 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

Windows Server
Anmeldung direkt am DC nicht möglich
Frage von ThomasGrWindows Server16 Kommentare

Hallo, ich habe bei unserem Server 2016 Standard ein Problem. Keine Ahnung wie das auf einmal passiert ist. Ich ...

TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte14 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...