如何将字符串中的繁体转为简体,如何 实现全角和半角之间的转换,还有个就是去掉重复的(比如 "杨先生先生",要改为"杨先生")

解决方案 »

  1.   

    通过编码转换来实现繁简转化
    全角半角可以通过replace或正则来实现
    去重复这个比较麻烦,因为你认为这处是重复的在别的地方可能就不重复,所以要看情况而定
      

  2.   

    C#中直接调用VB.NET的函数,兼论半角与全角、简繁体中文互相转化
      

  3.   

    // 命令行编译 : csc /r:Microsoft.VisualBasic.dll Test.cs// 如果是用 Visual Studio .NET IDE, 请按以下方法为项目添加引用:
    // 打开[解决方案资源管理器], 右击项目名称, 选择[添加引用],
    // 从列表中选择 Microsoft Visual Basic .NET Runtime 组件.using Microsoft.VisualBasic;class Test
    {
      static void Main()
      {
        string s = "博客园-空军 [skyIV.cnBlogs.com]";
        System.Console.WriteLine(s);
        s = Strings.StrConv(s, VbStrConv.Wide              , 0); // 半角转全角
        s = Strings.StrConv(s, VbStrConv.TraditionalChinese, 0); // 简体转繁体
        System.Console.WriteLine(s);
        s = Strings.StrConv(s, VbStrConv.ProperCase        , 0); // 首字母大写
        s = Strings.StrConv(s, VbStrConv.Narrow            , 0); // 全角转半角
        s = Strings.StrConv(s, VbStrConv.SimplifiedChinese , 0); // 繁体转简体
        System.Console.WriteLine(s);
      }
    }
    程序输出:
    博客园-空军 [skyIV.cnBlogs.com]
    博客園-空軍 [skyIV.cnBlogs.com]
    博客园-空军 [Skyiv.Cnblogs.Com]
      

  4.   

    去重复可以使用正则表达式:
    string s = "杨先生先生";
    s = Regex.Replace(s, @"(\w+)\1", "$1");