c# 中文字符(全角、半角)通用处理
声明:本文仅提供一种编程思路,所提供代码仅供参考,如需使用,请自行完善。我们在做程序的的时候经常要处理用户输入,作为我们的主要语言中文,经常会出现全角、半角的问题,这会在查询时给我们带来很多麻烦。本文采用扩展方法解决全半角切换的问题,效果图
代码如下:
public static void Example(string userInput)
{
string sbc = userInput.ToSBC(); //转全角
//
string dbc = userInput.ToDBC();//转半角
//
}
/// <summary>
/// 转全角(SBC case)
/// </summary>
/// <param name="input">任意字符串</param>
/// <returns>全角字符串</returns>
public static string ToSBC(this string input)
{
char[] c = input.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
if (c[i] == 32)
{
= (char)12288;
continue;
if (c[i] < 127)
= (char)(c[i] + 65248);
return new string(c);
/// <summary>
/// 转半角(DBC case)
/// </summary>
/// <param name="input">任意字符串</param>
/// <returns>半角字符串</returns>
public static string ToDBC(this string input)
{
char[] c = input.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
if (c[i] == 12288)
{
= (char)32;
continue;
if (c[i] > 65280 && c[i] < 65375)
= (char)(c[i] - 65248);
return new string(c);
中文处理中另一个常用的是获取拼音首字母,如:中华人民共和国,首字母为ZHRMGHG。很多库存管理程序中都将这个作为助记码,用作快速查询。这里只给出扩展定义和示例,具体实现网上很多,但大部分都不能解决多音字的问题。
public static void Example2(string productName)
{
string shortName = productName.GetChineseSpell();
/// <summary>
/// 获取汉字拼音首字母
/// </summary>
/// <param name="s">输入</param>
/// <returns>汉字拼音首字母,其它字符原样返回</returns>
public static string GetChineseSpell(this string s)
{
return null;//请自行完成
}
还有中文简体繁体互转,也可以扩展进来。
c# 中文字符(全角、半角)通用处理相关推荐
- java 全角_java字符全角半角转换
序 本文展示一下如何将char进行半角与全角转换. 术语 全角 SBC case Sexagesimal to Binary Converter 60进制转为2进制 半角 DBC case Decim ...
- 中文字符,全角字符的正则表达式
经过测试其中匹配双字节字符(包括汉字在内):[^\x00-\xff]非常好用推荐一下 关键字:正则表达式 模式匹配 Javascript 摘要:收集一些常用的正则表达式. 正则表达式用于字符串处理,表 ...
- mysql全角正则表达式_中文字符,全角字符的正则表达式(转载)
经过测试其中匹配双字节字符(包括汉字在内):[^\x00-\xff]非常好用推荐一下 这个家伙收录的正则很多,呵呵 关键字:正则表达式 模式匹配 Javascript 摘要:收集一些常用的正则表达式 ...
- win10输入法中文模式全角半角切换bug解决
在中文模式下,即使关闭了shift+空格热键也会切换全半角. 解决方式:还原输入法默认设置
- 中英文全角半角括号转换
Java中文的全角半角以及英文的全角括号都是相同的,但是都和英文半角括号不相同,这个要注意一下.下面是通过维护两个字符数组完成字符替换 String s = "()";String ...
- 计算机考试半角全角,Word2007和2003全角半角来回转
用Word写作,免不了引用网页或PDF文档等处的资料,很多时候粘贴过来的英文或数字是全角字符,整个版面看起来很不协调,需要将全角字符转换为半角字符.虽然Word提供的字符全角半角相互转换功能" ...
- php区分全角半角字符,php如何判断是字符串全角还是半角
php如何判断是字符串全角还是半角 关注:168 答案:2 手机版 解决时间 2021-01-15 16:08 提问者夏日╮悲歌 2021-01-15 00:27 php如何判断是字符串全角还是半 ...
- C#正则表达式——中文/英文空格(全角/半角空格)处理
1. 匹配中文(全角)空格 Regex.IsMatch(" ", "\u3000");\u3000是全角空格的16进制Unicode编码. <wbr> ...
- Windows自带输入法中文符号或全角半角切换
问题: 最近在PC端微信中输入中文标点字符时,总是发现逗号字符间距很小,句号就是一个点,按ctrl+shift, shift+空格等快捷键,均不能切换到中文的标点符号. 解决: (1)中文标点符号切换 ...
- python 全角半角字符转换
文章目录 1.相关原理 2. 相关代码 2.1 全角转半角 2.2 半角转全角 2.3 自定义转换 2.4 demo 参考文献 1.相关原理 全角即:Double Byte Character,简称D ...
最新文章
- 华为鸿蒙概念机990,华为5G概念新机:鸿蒙OS系统+麒麟990+石墨烯 安卓机皇来势汹汹...
- MYSQL主从数据库搭建
- 这份优化清单,你做了哪些?
- hive脚本执行方式
- python supervisor flask_supervisor配合uwsgi部署flask应用
- redis数据丢失_有效避免数据丢失!Redis持久化方案选择详解
- 【11.18总结】从SAML出发在重定向中发现的XSS漏洞
- SSM整理笔记1——SSM网站初步功能设计
- 利用国内镜像加快pip下载速度和成功率
- 使用Nginx、Keepalived构建负载均衡
- Java面试题系列(X)优化tomcat配置
- 24.卷1(套接字联网API)---带外数据
- 坐标轴范围及刻度的自适应算法
- Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'的解决办法
- 别错过,卡方检验实用总结!
- Linux终端共享分屏神器tmux
- 深度学习入门笔记(十四):Softmax
- web2.0常用网页配色
- 【历史上的今天】3 月 14 日:微软发布 IE9;黑莓创始人出生;圆周率计算创造新纪录
- ar 华为路由器 端口映射_求教华为AR2200路由器端口映射配置
热门文章
- C++实现tree234树(附完整源码)
- QT的QBufferDataGenerator类的使用
- find_all 返回空 python_python小课堂23 - 正则表达式(一)
- 04_pandas字符串函数;数据合并concat、merge;分组groupby;Reshaping;Pivot tables;时间处理(date_range、tz_localize等)
- 日志采集框架Flume、Flume介绍、概述、运行机制、Flume采集系统结构图(1、简单结构、复杂结构)
- 基于XML配置的Spring MVC(所需jar包,web.xml配置,处理器配置,视图解析器配置)
- 项目--教师日常办公平台中的活动图
- 表的插入、更新、删除、合并操作_7_通过视图插入
- RASA NLU Chi安装
- 服务器系统安装iis7.0,Windows2003服务器架IIS7.0怎么安装