MS Access查询:用单个字符替换字符串中的所有字符

时间:2018-12-13 13:56:29

标签: ms-access access-vba ms-access-2013

我通常会想出(或成功使用Google!)针对大多数我不知道的事情的解决方案,但这使我感到困惑,我确信有人过去一定会这样做。

在纸上,我要尝试的非常简单(我认为!)

基本上,我试图在Field2的Field1中重现文本字符串,但所有字母字符都替换为一个字符,即“ x”。

例如:

Field1 | Field2

马克·坦迪| xxxx xxxxx

基本上,我想模糊Field1数据。 更好的是,我希望每个单词的第一个字母都保持清晰,即

Field1 | Field2

马克·坦迪| Mxxx Txxxx

可能有一个完美的简单解决方案(可能涉及自定义函数),而我的思考不够充分。

我会继续努力,但是如果有人有任何建议,我将非常感激!

非常感谢,

标记

1 个答案:

答案 0 :(得分:1)

您可以使用自定义功能轻松解决此问题:

Public Function ObscureString(InputString As String) As String
    Dim SplitString() As String
    SplitString = Split(InputString, " ") 'Split words on spaces
    Dim SingleString As Variant
    For Each SingleString In SplitString
        If ObscureString <> "" Then ObscureString = ObscureString & " " 'Append space
        ObscureString = ObscureString & Left(SingleString, 1) 'Append first character
        If Len(SingleString) > 1 Then
            ObscureString = ObscureString & String(Len(SingleString) - 1, "x") 'x-es
        End If
    Next
End Function