首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从字符串中剥离中文字符(vba)

从字符串中剥离中文字符(vba)
EN

Stack Overflow用户
提问于 2012-05-23 05:34:19
回答 2查看 8.1K关注 0票数 1

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

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

我该怎么做,有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-23 18:32:35

您可以使用Regexp剥离中文unicode字符。

Wikipedia在下面列出了相关字符

代码语言:javascript
复制
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

因此,此正则表达式将去掉这些范围。我已经使用了aldo.room.nuena的字符串示例

票数 7
EN

Stack Overflow用户

发布于 2012-05-23 06:13:43

您必须按如下方式使用ChrW$()

代码语言:javascript
复制
MyString = "This is my string with a " & ChrW$(&H6C49) & " in it."

H6C49在Unicode上是可用的(谢天谢地),有中日韩三种代码。请参见this以查看字符范围。

因此,您必须检查字符Unicode代码,然后比较它是否已经在CJK范围内,以便翻译它。

还有一个很好的解释,甚至还有一个翻译字符串here的程序

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10710518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档