cai1234 发表于 2015-1-25 22:05:50

[已解决]文本处理

本帖最后由 cai1234 于 2015-1-25 23:17 编辑

文本文件如下:

方向=导出

DBiver=

<MapFields{
MapField>>
FieldCName=金额
FieldEName=Amount
othFieldEName=Amount
MapField<<

MapField>>
FieldCName=任务类别
FieldEName=TaskCategory
othFieldEName=TaskCategory
MapField<<

}MapFields>



希望将文件中MapField>>   和   MapField<< 之间 FieldCName 与 othFieldEName改为相同,即将改为


方向=导出

DBiver=

<MapFields{
MapField>>
FieldCName=金额
FieldEName=Amount
othFieldEName=金额
MapField<<

MapField>>
FieldCName=任务类别
FieldEName=TaskCategory
othFieldEName=任务类别
MapField<<

}MapFields>

cai1234 发表于 2015-1-25 22:09:53

补充一下, 文件中 MapField>>   和   MapField<< 的组合是有多对,不止两对。

afan 发表于 2015-1-25 22:54:13

用正则Local $Str = ClipGet()
Local $sRE = StringRegExpReplace($str, '(?si)(?<=FieldCName=)(\V*)(.+?othFieldEName=)\V*', '\1\2\1')
MsgBox(0, '替换结果', $sRE)

cai1234 发表于 2015-1-25 23:14:43

厉害!问题解决了,谢谢
页: [1]
查看完整版本: [已解决]文本处理