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

小菜鸟L 2013-10-10 02:34:20

切换输入法默认的是圆角的 怎样把textbox里的值转换成半角的 ,是不是这个textbox匹配一个正则表达式就行了,如果有的话 ,求正则表达式
...全文
379 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2013-10-10
  • 打赏
  • 举报
回复
引用 5 楼 u012160333 的回复:
find.Zip报错!- -
.NET 4.0才支持Zip,你稍微修改下 find.Select((x, i) => new { x, i }).Join(replacewith.Select((y, j) => new { y, j }), x => x.i, x => x.j, (x, y) => new { x.x, y.y })
小菜鸟L 2013-10-10
  • 打赏
  • 举报
回复
最后问一下怎样把特殊符号\和"放进string数组里面
小菜鸟L 2013-10-10
  • 打赏
  • 举报
回复
谢谢六楼了,问题解决了。是TextChanged事件,然后控制光标位置
小菜鸟L 2013-10-10
  • 打赏
  • 举报
回复
解决不了怎么破?是代码的问题还是事件的问题,到底放到那个事件里Textchangd还是load还是说其他事件?
rtdb 2013-10-10
  • 打赏
  • 举报
回复
引用 7 楼 u012160333 的回复:
是写在那个事件下,写load事件没用啊
Load事件肯定不对,试一下Leave事件
WM_JAWIN 2013-10-10
  • 打赏
  • 举报
回复
        /// <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');
                else if (c[i] >= (char)'⑴' && c[i] < (char)'⑽')
                    c[i] = (char)(c[i] - '⑴' + '1');
                else if (c[i] >= (char)'㈠' && c[i] < (char)'㈩')
                    c[i] = (char)(c[i] - '㈠' + '1');
                else if (c[i] >= (char)'①' && c[i] < (char)'⑩')
                    c[i] = (char)(c[i] - '①' + '1');

            }
            return new string(c);
        }
哥把公司内部御用代码给你粘出来,分啊
小菜鸟L 2013-10-10
  • 打赏
  • 举报
回复
是写在那个事件下,写load事件没用啊
rtdb 2013-10-10
  • 打赏
  • 举报
回复
帮你变成简单写法:

string[] find = { "1", "2", "3", "4", ... };
string[] replacewith = { "1", "2", "3", "4", ... };
 for (int i=0; i<find.Length; i++)
 {
     textBox1.Text = textBox1.Text.Replace(find[i], replacewith[i]);
 } 
小菜鸟L 2013-10-10
  • 打赏
  • 举报
回复
find.Zip报错!- -
小菜鸟L 2013-10-10
  • 打赏
  • 举报
回复
客户的要求。必须转啊
小菜鸟L 2013-10-10
  • 打赏
  • 举报
回复
再问一下,是写在Load事件下还是其他事件下
rtdb 2013-10-10
  • 打赏
  • 举报
回复
为什么转啊?用户输入的东西不可以随便转的 真要转换的话,用String.Replace()就可以了,不需要正则表达式的
threenewbee 2013-10-10
  • 打赏
  • 举报
回复
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); }
内容概要:本文详细记录了对一个Android ARM64静态ELF文件中字符串加密机制的逆向分析过程。该ELF文件的所有字符串均被加密,无法通过常规strings命令或IDA直接识别。作者通过分析发现,加密字符串存储在.rodata段,其解密所需信息(包括密文地址、长度和16位密钥)保存在.data.rel.ro段的40字节描述符中。核心解密函数sub_10F408采用自反的双pass流密码算法,结合固定密钥KEY_TERM(由.data段24字节数据计算得出),实现字节级非线性、位置与长度相关的加密。文章还复现了完整的Python解密脚本,并揭示了该保护机制的本质为代码混淆而非强加密,最终成功批量解密全部956条字符串,暴露程序真实行为,如shell命令模板、设备标识篡改、网络重置等操作。此外,文中还提及未启用的自定义壳框架及其反dump设计。; 适合人群:具备逆向工程基础的安全研究人员、二进制分析人员及对ELF保护技术感兴趣的开发者。; 使用场景及目标:①学习ELF二进制中字符串加密的典型实现方式与逆向突破口;②掌握从结构识别、函数追踪到算法还原的完整逆向流程;③理解“绑定二进制”的完整性校验设计及其局限性;④实践编写IDAPython脚本自动化提取与解密敏感数据。; 阅读建议:此资源以实战案例驱动,不仅展示技术细节,更强调逆向思维与验证方法,建议读者结合IDA调试环境,逐步跟随文中步骤进行动态分析与算法验证,深入理解每一步的推理依据。

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧