日期:2014-05-17  浏览次数:21146 次

求一个圆角转半角正则表达式

切换输入法默认的是圆角的     怎样把textbox里的值转换成半角的 ,是不是这个textbox匹配一个正则表达式就行了,如果有的话 ,求正则表达式

------解决方案--------------------
string[] find = { "1", "2", "3", "4", ... };
string[] replacewith = { "1", "2", "3", "4", ... };
foreach (var item in find.Zip(replacewith, (x, y) => new { x, y }))
{
    textBox1.Text = textBox1.Text.Replace(item.x, item.y);
}
------解决方案--------------------
为什么转啊?用户输入的东西不可以随便转的

真要转换的话,用String.Replace()就可以了,不需要正则表达式的

------解决方案--------------------
        /// <summary> 转半角的函数(DBC case) </summary>
        /// <param name="input">任意字符串</param>
        /// <returns>半角字符串</returns>
        ///<remarks>
        ///全角空格为12288,半角空格为32
        ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
        ///</remarks>
        public static string ToDBC(string input)
        {
            char[] c = input.ToCharArray();
            for (int i = 0; i < c.Length; i++)
            {
                if (c[i] == 12288)
                {
                    c[i] = (char)32;
                    continue;
                }
                if (c[i] > 65280 && c[i] < 65375)
                    c[i] = (char)(c[i] - 65248);
                else if (c[i] >= (char)'⒈' && c[i] < (char)'⒑')
                    c[i] = (char)(c[i] - '⒈' + '1');