Strip Chinese Characters from a string (vba)

后端 未结 2 1578
别那么骄傲
别那么骄傲 2021-01-03 17:01

I am using Microsoft Project VBA to translate my activity names from English to Chinese.

My problem is I have some Chinese translations embedded in some of the Engl

相关标签:
2条回答
  • 2021-01-03 17:39

    You can use a Regexp to strip the Chinese unicode characters

    Wikipedia lists the relevant characters below

    enter image description here

    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
    

    So this regexp will strip out these ranges. I have used aldo.roman.nurena's string example

    0 讨论(0)
  • 2021-01-03 17:53

    You have to use ChrW$() as this:

    MyString = "This is my string with a " & ChrW$(&H6C49) & " in it."
    

    The H6C49 is available (thanks God for that) on Unicode as CJK codes (Chinese, Japanese and Korean). See this to take a look of the characters range.

    So, you have to check the character Unicode code and then compare if it is already on the CJK range so as to translate it or not.

    There is also a good explanation and even a program to translate strings here

    0 讨论(0)
提交回复
热议问题