使用电子表格RegEx提取文本和数字并替换为格式的最佳方法?

时间:2018-08-22 08:07:51

标签: regex replace google-sheets extract

我目前正在从事一个非盈利项目,需要重新格式化行中数据的显示方式。

此刻,行数据的外观如下:

Save The Children (Donation)|10.00{0}{2}

我需要它改为这样输出:

donation_id:save_children|quantity:1|total:10.00

第一个问题:有时该行中有多个项目:

Save The Children (Donation)|10.00{0}{2} / Save The Forrest|15.50{0}{2}

在这种情况下,需要用分号分隔

donation_id:save_children|quantity:1|total:10.00;donation_id:save_forrest|quantity:1|total:15.50

第二个问题是,我们有9个捐赠变量/原因,每个变量都需要将输出转换为不同的“ donation_id”。

因此每次发现:

保存儿童,它需要转换为: donation_id:save_children

保存Forrest ,至 donation_id:save_forrest

保存动物 donation_id:save_animals

依此类推。

第三个问题是,捐赠金额是可变的(随着人们捐赠他们想要的东西),因此我们输出的“总计:”美元价值通常会有所不同。

我将如何使用正则表达式进行操作?

谢谢

1 个答案:

答案 0 :(得分:0)

您可以在正则表达式下面使用

(Save) The (Children|Forrest|Animals).*?\|([0-9]+\.[0-9]+)\{0\}\{2\}([\s\/]+)?

替换/替换为

donation_id:$1_$2|quantity:1|total:$3;

当我测试

Save The Children (Donation)|10.00{0}{2} / Save The Forrest|15.50{0}{2}

输出为

donation_id:Save_Children|quantity:1|total:10.00;donation_id:Save_Forrest|quantity:1|total:15.50;

Test it online!