| |
| MDG Engineering Nutzt Xometry, Um Medizinische Geräte Zu Bauen Und Das Globale Wachstum Voranzutreiben, ein Anwenderbericht
|
Autor
|
Thema: String zerlegen (1087 mal gelesen)
|
M.Philipp Mitglied Konstruktionsingenieur
Beiträge: 14 Registriert: 18.09.2014
|
erstellt am: 12. Mai. 2015 14:16 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich suche eine Möglichkeit in meinem VBA Programm einen String in mehrere Single zu zerlegen: Beispiel String: "Ro ø25x3,5*395 fix" herauskommen soll Single1 = 25 Single2 = 3,5 Single3 = 395 Ich kriegs einfach nicht hin. Bitte helft mir. Oder wenigstens wie schmeiße ich alle Buchstaben und Sonderzeichen aus dem String außer x * und , Danke im Voraus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Ehrenmitglied V.I.P. h.c. Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 12. Mai. 2015 17:20 <-- editieren / zitieren --> Unities abgeben: Nur für M.Philipp
Hallo Phillip, ich habe dir mal ein Bespiel zusammen geschrieben Code:
Sub CATMain() Dim str1 As String Dim str2() As String Dim str3 As Variant Dim i As Integer str1 = "Ro ø25x3,5*395 fix" str2 = GetNumbersSplittedUp(str1) i = 1 For Each str3 In str2 MsgBox ("Wert" & i & ": " & str3) i = i + 1 Next End Sub Function GetNumbersSplittedUp(strText As String) As String() Dim i As Integer Dim j As Integer Dim strTemp As String Dim strtemp2 As String Dim strRet() As String j = 0 For i = 0 To Len(strText) strTemp = Mid(strText, i + 1, 1) If IsNumeric(strTemp) = True Or strTemp = "," Then strtemp2 = strtemp2 & strTemp Else If Len(strtemp2) > 0 Then ReDim Preserve strRet(j) strRet(j) = strtemp2 strtemp2 = "" j = j + 1 End If End If Next GetNumbersSplittedUp = strRet End Function
------------------ MFG Rick Schulz Nettiquette (CAD.de) - Was ist die Systeminfo? - Wie man Fragen richtig stellt. - Unities
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
M.Philipp Mitglied Konstruktionsingenieur
Beiträge: 14 Registriert: 18.09.2014
|
erstellt am: 13. Mai. 2015 08:07 <-- editieren / zitieren --> Unities abgeben:
|
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 817 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 13. Mai. 2015 08:37 <-- editieren / zitieren --> Unities abgeben: Nur für M.Philipp
Hallo zusammen Oder das selbe mit RegEx. Code: Public Sub RegEx_Test() Dim objRegEx As Object, objMatch As Object Dim strText As String Dim intIndex As Integer strText = "Ro ø25x3,5*395 fix" Set objRegEx = CreateObject("vbscript.regexp") With objRegEx .Global = True .IgnoreCase = True .MultiLine = False .Pattern = "[\d,.]+" Set objMatch = .Execute(strText) End With For intIndex = 0 To objMatch.Count - 1 Debug.Print objMatch(intIndex) Next Set objRegEx = Nothing Set objMatch = Nothing End Sub
Gruss Andreas ------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |