MS Access 查询:用单个字符替换字符串中的所有字符
MS Access Query: Replace all Characters in a String with a Single Character
我通常会想出(或成功地 google!)解决我不知道的大多数事情,但这个让我很困惑,我敢肯定过去一定有人做过.
理论上我想做的很简单(我想!)
基本上我试图在 Field2 中重现 Field1 中的文本字符串,但所有字母字符都替换为单个字符,即 "x"。
例如:
字段 1 |字段 2
马克·坦迪 | xxxx xxxxx
基本上,我想隐藏 Field1 数据。
更好的是,我希望能够让每个单词的第一个字母不被遮挡,即
字段 1 |字段 2
马克·坦迪 | Mxxx Txxxx
可能有一个完美的简单解决方案(可能涉及自定义函数),我没有足够的横向思考来弄清楚。
我会继续努力,但如果有人有任何建议,我将不胜感激!
非常感谢,
马克
您可以使用自定义函数轻松解决此问题:
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
我通常会想出(或成功地 google!)解决我不知道的大多数事情,但这个让我很困惑,我敢肯定过去一定有人做过.
理论上我想做的很简单(我想!)
基本上我试图在 Field2 中重现 Field1 中的文本字符串,但所有字母字符都替换为单个字符,即 "x"。
例如:
字段 1 |字段 2
马克·坦迪 | xxxx xxxxx
基本上,我想隐藏 Field1 数据。 更好的是,我希望能够让每个单词的第一个字母不被遮挡,即
字段 1 |字段 2
马克·坦迪 | Mxxx Txxxx
可能有一个完美的简单解决方案(可能涉及自定义函数),我没有足够的横向思考来弄清楚。
我会继续努力,但如果有人有任何建议,我将不胜感激!
非常感谢,
马克
您可以使用自定义函数轻松解决此问题:
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