MS Access从文本中删除单词

时间:2014-06-19 23:10:30

标签: vba

我试图从MS Access中的文本字段中删除各种单词。数据可能如下所示:

你好@foo,是什么新的@bar @goodfriend和我刚观看星球大战 @this和@that以及@theother

我想删除所有以' @'。

开头的字词

替换()不会起作用,因为每个记录中的单词都不同。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

如果您正在使用VBA,则应该能够基于正则表达式替换文本。请参阅replace a column using regex in ms access 2010的答案作为示例。

答案 1 :(得分:0)

我实际上赞成了CheeseInPosition的答案,但我想如果你不能/不想用正则表达式做的话我会提供另一种方法。刚写了一个快速函数来解析单词:

Public Function RemoveAtWords(strOriginal As String) As String

    Dim strParts() As String
    Dim i As Integer

    strParts() = Split(strOriginal, " ")

    For i = LBound(strParts) To UBound(strParts)
        If Left(strParts(i), 1) <> "@" Then
            RemoveAtWords = RemoveAtWords & " " & strParts(i)
        End If
    Next

    RemoveAtWords = Trim(RemoveAtWords)

End Function

您可以从查询中调用它并传递您的字符串。效率不高,因为你必须遍历整个字符串,但只是另一种选择。