使用多个分隔符分割字符串

0 excel vba

我想使用 Excel VBA 拆分具有多个分隔符的字符串。其中一个字符串是:

Raw String: Surat/Gujarat-India-East(Asia)+Earth.
Intended Result: Surat Gujarat India East Asia Earth.
Run Code Online (Sandbox Code Playgroud)

问题是我们在记录宏时不能使用多个其他分隔符。

任何帮助将不胜感激。

bra*_*raX 5

这是一种易于理解和添加的方法。

它只是将所有分隔符更改为空格,最后删除所有双空格。

将其放入MODULE中。

Sub test()
  Dim s As String
  s = "Surat/Gujarat-India-East(Asia)+Earth"
  
  s = Replace(s, "/", " ")
  s = Replace(s, "(", " ")
  s = Replace(s, ")", " ")
  s = Replace(s, "+", " ")
  s = Replace(s, "-", " ")

  s = Replace(s, "  ", " ")
  
  Debug.Print s

  ' Then if you want to actually split it...
  Dim v As Variant
  v = Split(s, " ")

End Sub
Run Code Online (Sandbox Code Playgroud)

要将其用作返回数组的函数,该数组也可用于设置范围:

Function GetTest(s As String)
  's = "Surat/Gujarat-India-East(Asia)+Earth"
  
  s = Replace(s, "/", " ")
  s = Replace(s, "(", " ")
  s = Replace(s, ")", " ")
  s = Replace(s, "+", " ")
  s = Replace(s, "-", " ")

  s = Replace(s, "  ", " ")
  
  GetTest = Split(s, " ")
  
End Function
Run Code Online (Sandbox Code Playgroud)

把你的字符串放进Surat/Gujarat-India-East(Asia)+EarthA1

然后在 中B1,输入=GetTest(A1)