从字符串中删除中文字符(vba)

Jim*_*CLT 1 regex vba ms-office

我正在使用Microsoft Project VBA将我的活动名称从英语翻译成中文.

我的问题是我在一些英文活动名称中嵌入了一些中文翻译.我想在将字符串传递给Microsoft Translator之前删除中文字符.

关于我如何做到这一点的任何想法?

bre*_*tdj 6

您可以使用a Regexp去除中文unicode字符

维基百科列出了以下相关字符

在此输入图像描述

Sub Test()
Dim myString as String
myString = "This is my string with a " & ChrW$(&H6C49) & " in it."
Dim objRegex As Object
Set objRegex = CreateObject("vbscript.regexp")
With objRegex
    .Global = True
    .Pattern = "[\u4E00-\u9FFF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF]+"
    MsgBox .Replace(myString, vbNullString)
End With
End Sub
Run Code Online (Sandbox Code Playgroud)

所以这个正则表达式将剥离这些范围.我使用过aldo.roman.nurena的字符串示例