我应该使用什么正则表达式来替换维度常量

时间:2011-05-07 04:56:41

标签: regex eclipse search replace

ID_FLOWER_128X128_JPG
ID_APPLE_100X100_ICO
ID_ORANGE_64X64_PNG
ID_SUN_DIAL_64X64_PNG
ID_COMPUTER_16X16_ICO

我有几个常量被声明为这样,我应该使用什么正则表达式来将这些常量的尺寸(例如16X16或128X128)替换为空字符串,所以它应该看起来像下面的替换后

ID_FLOWER_JPG
ID_APPLE_ICO
ID_ORANGE_PNG
ID_SUN_DIAL_PNG
ID_COMPUTER_ICO

注意:所有此类字符串都带有ID_前缀

2 个答案:

答案 0 :(得分:1)

查找(假设所有内容都是大写的):

(ID_.+_)\d+X\d+_(.+)

该正则表达式中的关键位是\d+X\d+,它查找至少1个数字,后跟X,后跟至少1个数字。

替换为:

$1$2

答案 1 :(得分:1)

尝试:

(.*)_[0-9]*[Xx][0-9]*_(.*)

替换为: $1_$2

要在Eclipse中测试regexp,使用Eclipse Regular Expression (RegExp) Tester是一个非常好的插件。