Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式Excel删除字符串的中间部分_Regex_Excel_String_Geocoding - Fatal编程技术网

Regex 正则表达式Excel删除字符串的中间部分

Regex 正则表达式Excel删除字符串的中间部分,regex,excel,string,geocoding,Regex,Excel,String,Geocoding,我有一些地址数据需要更正。它打算显示一系列地址,但这对地理编码不起作用。使用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 您将通过=REGEXRE

我有一些地址数据需要更正。它打算显示一系列地址,但这对地理编码不起作用。使用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

您将通过=REGEXREPLACEcurrent\u column、\d+,

创建一个新列,因为您已经标记了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

上述答案的“模式”部分在查找和替换查询中起作用。谢谢你的帮助@Gra,你的问题是如何在Excel中执行此操作,你是否使用其他软件执行此查询?我使用的是OpenOffice。我不能接受的答案,直到5分钟后,它被张贴…接受很快。