/// <summary>
/// 将资料表中已修改的资料行数据去左右空格、全角转半角
/// </summary>
public sealed class FieldFitString
{
const string _SEPERATOR = "&^*"; /// <summary>
/// 将资料表中已修改的资料行数据去左右空格、全角转半角
/// </summary>
/// <param name="dt"></param>
public static void FitString(DataTable dt)
{
DataTable tmp = dt.GetChanges();
if (tmp == null) return; //枚举Columns,仅处理字符类型的Field
//枚举DataRow,仅处理新增、修改状态的记录
string tmpFileNames = string.Empty; //取出字段
for (int i = ; i < dt.Columns.Count; i++)
{
if (dt.Columns[i].DataType == Type.GetType("System.String"))
{
tmpFileNames += _SEPERATOR + dt.Columns[i].Caption;
}
} string[] FileNames = tmpFileNames.Split(new string[] { _SEPERATOR }, StringSplitOptions.RemoveEmptyEntries); //仅处理已修改的资料行
foreach (DataRow dr in dt.Rows)
{
if (dr.RowState == DataRowState.Added || dr.RowState == DataRowState.Modified)
{
foreach (string filename in FileNames)
{
dr[filename] = RemoveChar(ConvertEx.ToString(dr[filename]));
}
}
}
} /// <summary>
/// 将资料表中已修改的资料行数据去左右空格、全角转半角
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string RemoveChar(string str)
{
if (String.IsNullOrEmpty(str)) return str; try
{
string NewStr = string.Empty;
char[] c = str.ToCharArray();
for (int i = ; i < c.Length; i++)
{
byte[] b = System.Text.Encoding.Unicode.GetBytes(c, i, ); if (b.Length == )
{
//全角
if (b[] == || b[] == )
{
b[] = (byte)(b[] + );
b[] = ;
NewStr += System.Text.Encoding.Unicode.GetChars(b)[];
}
else
{
NewStr += c[i];
}
}
} return NewStr.Trim();//去左右空格 }
catch
{
return str;
}
} }

C# 半角?全角的更多相关文章

  1. java 非法字符过滤 , 半角/全角替换

    java 非法字符过滤 , 半角/全角替换 package mjorcen.netty.test1; import java.io.UnsupportedEncodingException; publ ...

  2. 提供对字符串的全角->半角,半角->全角转换

    package com.opslab.util.algorithmImpl; import com.opslab.util.StringUtil; /** * 提供对字符串的全角->半角,半角- ...

  3. [小技巧] Windows7 半角全角快捷键 修改方法

    From : http://blog.sina.com.cn/s/blog_87ab67b10100x3ww.html 转载说明:在浏览器下我们可以使用空格下翻一页,Shift + 空格上翻一页. 但 ...

  4. .net 2.0中半角全角错误的解决办法

    VS2005中.net 2.0编译报错如下所示:'System.Windows.Forms.ImeMode' does not contain a definition for 'OnHalf'.只需 ...

  5. C# 全角和半角转换以及判断的简单代码

    在C#中判断和转换全角半角的方法 1. 判断是否为全角半角 全角占用二个字节 半角占用一个字节 用string.length 和System.text.Encoding.Default.GetByte ...

  6. C#全角和半角转换

    在计算机屏幕上,一个汉字要占两个英文字符的位置,人们把一个英文字符所占的位置称为"半角",相对地把一个汉字所占的位置称为"全角".在汉字输入时,系统提供&quo ...

  7. php字符串处理之全角半角转换

    半角全角的处理是字符串处理的常见问题,本文尝试为大家提供一个思路. 一.概念 全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E)半角字符unicode编码 ...

  8. Java如何判断字符串中包含有全角,半角符号

    首先介绍下全角跟半角之间的区别: 在计算机屏幕上,一个汉字要占两个英文字符的位置,人们把一个英文字符所占的位置称为"半角",相对地把一个汉字所占的位置称为"全角" ...

  9. 刨根究底字符编码之五——简体汉字编码方案(GB2312、GBK、GB18030、GB13000)以及全角、半角、CJK

    简体汉字编码方案(GB2312.GBK.GB18030.GB13000)以及全角.半角.CJK   一.概述 1. 英文字母再加一些其他标点字符之类的也不会超过256个,用一个字节来表示一个字符就足够 ...

  10. java全角和半角转换

    package test; public class HalfAndFullConverseUtil { /** * ASCII表中可见字符从!开始,偏移位值为33(Decimal) */ priva ...

随机推荐

  1. HTML5实战与剖析之媒体元素(6、视频实例)

    HTML5中的视频标签和及其模仿视频播放器的效果在一些手机端应用比較多.由于手机端基本上废除了flash的独断.让HTML5当家做主人,所以对视频支持的比較好. 所以今天专门为大家奉上HTML5视频标 ...

  2. Java自动内存管理机制

    1.运行时数据区域划分 2.程序计数器 作用:可以看做是当前线程所执行的字节码的行号指示器. 解释:字节码指示器就是通过改变程序计数器的值来指定下一条需要执行的指令.分支,循环等 基础功能就是依赖程序 ...

  3. .NET CORE 2.0小白笔记(四):asp.net core输出中文乱码的问题

    问题描述:在学习asp.net core的时候,尝试在控制台,或者页面上输出中文,会出现乱码的问题. 分析解决:控制台乱码的原因是因为中文windows命令行默认编码页是gb2312,想输出中文只要把 ...

  4. Hibernate学习之二级缓存

    © 版权声明:本文为博主原创文章,转载请注明出处 二级缓存 - 二级缓存又称“全局缓存”.“应用级缓存” - 二级缓存中的数据可适用范围是当前应用的所有会话 - 二级缓存是可插拔式缓存,默认是EHCa ...

  5. CentOS yum 命令出现 [Errno 14] curl#6 - &quot;Couldn&#39;t resolve host ...&quot; 的解决方法

    安装svn的时候,发现报错说一个地址无法訪问. # yum list | grep subversion http://opensource.wandisco.com/centos/7/svn-1.8 ...

  6. sparkstreaming+socket workCount 小案例

    Consumer代码 import org.apache.spark.SparkConf import org.apache.spark.streaming.StreamingContext impo ...

  7. Linux下vim命令总结

    一.光标控制命令   命令                   移动    k                   向上移一行    j                   向下移一行    h    ...

  8. 各种类型的电影排行榜-movie路线

    [最费脑力的14部电影]<盗梦空间>.<记忆裂痕>.<生死停留>.<死亡幻觉>.<禁闭岛>.<穆赫兰道>.<蝴蝶效应> ...

  9. 二级导航内容均分--jquery

    这个是去年做过的一个项目中的算法,个人感觉还可以,所以拿出来分享下. 背景:头部导航二级导航有些内容太长,一列的话太过难看,就要分成两列,要做到按块尽量均分,排列顺序没有限制. 原理: 1.把各个二级 ...

  10. bugzilla部署记录

    这两天部署了个bugzilla,记录如下. 1.主要参考文章 Bugzilla安装过程.Bugzilla使用手册及解决方案 如果你使用的系统是win7或者IIS是7.0的话,你可能还需要Win7 安装 ...