巧用vim正则表达式分组替换功能

               在开发信息管理系统的时候,往往会有编辑信息的界面。如果是修改信息,那么需要将已有信息的属性赋给各个控件。在保存的时候,需要将控件的值赋给信息。   
      如下段代码所示为给各个控件赋值的代码:

                this.项目编号TextBox.Text = _Obj.项目编号;
                this.项目名称TextBox.Text = _Obj.项目名称;
                this.负责人TextBox.Text = _Obj.负责人;
                this.参加人1TextBox.Text = _Obj.参加人1;
                this.参加人2TextBox.Text = _Obj.参加人2;
                this.参加人3TextBox.Text = _Obj.参加人3;
                this.项目来源TextBox.Text = _Obj.项目来源;
                this.项目性质TextBox.Text = _Obj.项目性质;
                this.项目内容及要求richTextBox.Text = _Obj.项目内容及要求;
                this.开始日期DateTimePicker.Value = (DateTime)_Obj.开始日期;
                this.结束日期DateTimePicker.Value = (DateTime)_Obj.结束日期;

     如下段代码为将控件的值赋给_Obj对象:

             _Obj.项目编号 = this.项目编号TextBox.Text;
                _Obj.项目名称 = this.项目名称TextBox.Text;
                _Obj.负责人 = this.负责人TextBox.Text;
                _Obj.参加人1 = this.参加人1TextBox.Text;
                _Obj.参加人2 = this.参加人2TextBox.Text;
                _Obj.参加人3 = this.参加人3TextBox.Text;
                _Obj.项目来源 = this.项目来源TextBox.Text;
                _Obj.项目性质 = this.项目性质TextBox.Text;
                _Obj.项目内容及要求 = this.项目内容及要求richTextBox.Text;
                _Obj.开始日期 = this.开始日期DateTimePicker.Value;
                _Obj.结束日期 = this.结束日期DateTimePicker.Value;

      仔细分析,基本上第二段代码是对第一段代码”=“两边的内容对调再加适当休整即可。那么有没有方法可以将第一段代码迅速变换为第二段代码,而不是在手动敲一遍内?

      我使用的VimEmu插件,刚好可以利用Vim正则表达式替换的功能实现这项需求。如下所示:

      :s/\(.*\)=\(.*\);/\2=\1;/g。

      其中s/ / /g为搜索并替换的语法。\2,\1是引用用正则表达匹配到的分组。\( \)括起来的是正则表达式分组匹配项,我这里将“=”之前的内容设为\1,将“=”号好“;"之间的内容设为\2。

      如此,只需一条命令,即可完成第一段代码转换为第二段代码。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值