首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 汉字转化拼音过程中,出现字母或者英文如何处理(C#)? [已结贴,结贴人:falcon0912]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • falcon0912
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-05-15 11:36:58 楼主
    看到了一些相关的程序,但是都只是纯汉字转化为拼音的做法如“我是一个中国人”to“wo-shi-yi-ge-zhong-guo-ren”
    通常的做法如下(baidu一下有很多代码,只取其中关键部分贴上来):
    C# code
    public static string convert(string chrstr) { byte[] array = new byte[2]; string returnstr=""; int chrasc=0; int i1 = 0; int i2 =0; char[] nowchar=chrstr.ToCharArray(); for (int j=0;j<nowchar.Length ;j++) { array = System.Text.Encoding.Default.GetBytes(nowchar[j].ToString ()); i1 = (short)(array[0] ); i2 = (short)(array[1] ); <p style=line-height: 150%> chrasc=i1*256+i2-65536; if (chrasc>0 && chrasc<160) { returnstr+=nowchar[j]+-”; } else { for (int i=(pyvalue.Length -1);i>=0;i--) { if (pyvalue[i]<=chrasc) { returnstr+=pystr[i]+-”; break; } } } } return returnstr; } }


    假如出现“我是一个,haha,中国人”,其中标点符号可以用正则表达式匹配掉,但是英文或者字母部分如何处理呢?本人菜鸟,期望高手能把代码完善一下,输入下列结果:“wo-shi-yi-ge-haha-zhong-guo-ren”
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • viena
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 3

    发表于:2008-05-15 12:19:421楼 得分:1
    英文或者字母同样可以用正则表达式匹配掉~
    [A-Za-z]
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ATGO
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-15 12:32:232楼 得分:16
    haha如果在库里面没有找到相关对应的“汉字-拼单”转换就直接输就haha就行了。
    我以前也做过这类似的库。需要共享的话告诉一声。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lujiaxing2007
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-15 12:44:203楼 得分:1
    建议你看一下 编译原理.
    这跟自己写个编译器差不太多.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jimmy_jpy
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-15 12:48:484楼 得分:1
    标记一下,帮你顶
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • harisonh2l
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-15 13:57:075楼 得分:1
    up
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • falcon0912
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-15 14:15:236楼 得分:0
    引用 2 楼 ATGO 的回复:
    haha如果在库里面没有找到相关对应的“汉字-拼单”转换就直接输就haha就行了。
    我以前也做过这类似的库。需要共享的话告诉一声。

    试着改了下代码,效果不理想,希望可以把相关代码共享一下,谢谢!
    Mail:falcon0912@163.com
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ATGO
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-15 17:08:557楼 得分:0
    http://www.cnblogs.com/ATGO/archive/2008/05/15/1198624.html
    上传文件有限。测试应该够用了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ATGO
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-15 17:10:138楼 得分:0
    发不出信息,再来一下。
    http://www.cnblogs.com/ATGO/archive/2008/05/15/1198624.html
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • falcon0912
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 10:27:339楼 得分:0
    多谢,结贴!
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved