替换访问查询中第一次出现的字符串

时间:2013-08-07 08:29:37

标签: ms-access-2007

我正在寻找访问查询来替换第一次出现的“。”在一个字符串中。

Example:
A.xcvb.NS
.sdfg.FX

O/P:
A-xcvb.NS
-sdfg.FX

如果可以在访问查询中使用,请告诉我。

3 个答案:

答案 0 :(得分:1)

在Microsoft Access中,Replace函数将字符串中的一系列字符替换为另一组字符(多次)。

语法

Replace函数的语法是:

替换(string1,查找,替换,[开始,[计数,[比较]]]) string1是用另一组字符替换字符序列的字符串。

find是将在string1中搜索的字符串。

替换将替换string1中的find。

start是可选的。这是string1中开始搜索的位置。如果省略此参数,则Replace函数将从位置1开始搜索。

count是可选的。这是要替换的事件数。如果省略此参数,则Replace函数将替换所有出现的替换。

Replace function

答案 1 :(得分:-1)

使用内置的VBA Replace函数替换所有实例

UPDATE tbl
SET fld = Replace(fld,'.','')

要仅替换第一个实例,您需要自定义函数而不是上述Replace函数

Public Function ReplaceFirstInstance(str As String, strFind As String, strReplace As String) As String
    Dim pos As Long

    pos = InStr(str, strFind)

    If pos > 0 Then
        Mid(str, pos, 1) = strReplace
    End If
    ReplaceFirstInstance = str

End Function

答案 2 :(得分:-1)

E Mett的解决方案对我不起作用......

Public Function ReplaceFirstInstance(str As String, strFind As String, strReplace As String) As String
    Dim pos As Long

    pos = InStr(str, strFind)

    If pos > 0 Then
        ReplaceFirstInstance = Left(str, pos - 1) & strReplace & Mid(str, pos + Len(strFind))
        'Mid(str, pos, 1) = strReplace
    Else
        ReplaceFirstInstance = str
    End If


End Function