【问题标题】:ms access replace function Upper Lower letter messms访问替换功能大写小写字母混乱
【发布时间】:2018-12-22 00:07:03
【问题描述】:

我有一个字符串,我需要替换一些字符。到目前为止,我有以下 vba 代码,我有一些问题要问。

Dim strx As String

strx = rec("Name")
strx = Replace(strx , "a", "μ", , , 0)
strx  = Replace(strx , "A", "Μ", , , 0)
strx = Replace(strx , "b", "ν", , , 0)
strx  = Replace(strx , "B", "Ν", , , 0)
etc... until last letter...

我的代码可以正常工作,但它把大写字母弄乱了。

我怎样才能强制只用某些东西替换大写字母而用其他东西替换小写字母?

strx = "Alex Nero - ID12 - Age12 - no more data - Code:A5f7HMnbwi34"

正如我们在我的 vba 代码中看到的那样,我需要将“A”替换为某些内容,将“a”替换为其他内容。代码弄乱了“A”和“a”。

【问题讨论】:

  • 您提供0 = vbBinaryCompare 作为参数Compare,所以这应该有效。它在我的测试中确实有效。请提供您的确切代码和确切的输入数据以及您获得的输出。 -- mess up 不是有用的错误描述。

标签: vba ms-access replace


【解决方案1】:

Replace()Compare:=vbBinaryCompare 确实区分大小写字母。

Sub TestReplace()

    Dim strx As String

    strx = "Alex Nero - ID12 - Age12 - no more data - Code:A5f7HMnbwi34"
    Debug.Print " In: " & strx

    strx = Replace(strx, "a", "μ", , , vbBinaryCompare)
    strx = Replace(strx, "A", "Μ", , , vbBinaryCompare)
    strx = Replace(strx, "b", "ν", , , vbBinaryCompare)
    strx = Replace(strx, "B", "Ν", , , vbBinaryCompare)

    Debug.Print "Out: " & strx

End Sub

输出,突出显示Aa 的不同替换:

 In: Alex Nero - ID12 - Age12 - no more data - Code:A5f7HMnbwi34
Out: Μlex Nero - ID12 - Μge12 - no more dμtμ - Code:Μ5f7HMnνwi34
     ^^^^^                                         ^^^^^

【讨论】:

    猜你喜欢
    • 2014-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-28
    • 1970-01-01
    • 2013-02-04
    • 1970-01-01
    • 2019-06-06
    相关资源
    最近更新 更多