2012-04-13 10 views
2

Ich habe eine Zeichenfolge, die "-" am Ende enthält. Ich möchte alles links von diesem Bindestrich zurückgeben.Wie verwenden Sie Split() auf einen Bindestrich?

Ich weiß nicht, wie man Split() oder Regex() verwendet, um das zu tun.

+2

Mit welchem ​​Teil hast du Probleme? Die Dokumentation der Split-Funktion scheint ziemlich klar zu sein –

Antwort

6

Zwei Methoden, die den Bindestrich Griff zu entfernen und ein Nicht-Bindestrich

Sub Test1() 
    Dim StrTest As String 
    StrTest = "I have a hypen-somewhere" 
    If InStr(StrTest, "-") > 0 Then 
     MsgBox Left$(StrTest, InStr(StrTest, "-") - 1) 
    Else 
     MsgBox "Not found" 
    End If 
End Sub 

Sub Test2() 
    Dim StrTest As String 
    Dim vString 
    StrTest = "I have a hypen-somewhere" 
    vString = Split(StrTest, "-") 
    If UBound(vString) > 0 Then 
     MsgBox vString(0) 
    Else 
     MsgBox "Not found" 
    End If 
End Sub 
+1

+1 für die tatsächliche Suche nach "-" vor dem Split. –

1

Verwenden Sie eine Kombination aus Instr(), Mid() und Len()here

1

Sie könnten versuchen, so etwas wie:

Dim hyphenString As String = "hello-world" 
Dim leftSide As String = Left(hyphenString, InStr(hyphenString, "-")) 

leftSide sollte nun "Hallo"

+1

Dies sagt "Hallo-" nicht "Hallo". Und gibt überhaupt nichts zurück, wenn es kein Hypen gibt – brettdj

+0

Sie müssen 'Left (Bindestrich, InStr (hyphenString," - ") - 1)' verwenden, um alles vom Bindestrich übrig zu lassen. – psubsee2003

Verwandte Themen