首页 > 解决方案 > 正则表达式 Excel 删除字符串的中间部分

问题描述

我有一些地址数据需要更正。它打算显示一系列地址,但这不适用于地理编码。在excel中使用正则表达式删除连字符和第一个空格之间的所有内容的有效方法是什么?例子:

    29-45  SICKLES ST
    31-39  SHERMAN AV
    36-44  ARDEN ST
   118-22  NAGLE AV

变成

    29 SICKLES ST
    31 SHERMAN AV
    36 ARDEN ST
   118 NAGLE AV

标签: regexexcelstringgeocoding

解决方案


由于您已标记RegEx,您可以在 Excel 的 VBA 中像这样使用它:

Sub Test()

Dim arr As Variant: arr = Array("29-45  SICKLES ST", "31-39  SHERMAN AV", "36-44  ARDEN ST", "118-22  NAGLE AV")

With CreateObject("VBScript.RegExp")
    .Pattern = "-\d*\s*"
    For x = LBound(arr) To UBound(arr)
        arr(x) = .Replace(arr(x), " ")
    Next
End With

End Sub

推荐阅读