谷歌电子表格REGEXREPLACE,从细胞获得替代品

时间:2015-01-01 20:11:54

标签: regex spreadsheet

我正在使用谷歌电子表格,我们将使用它创建产品数据。

看看这个屏幕:

http://awesomescreenshot.com/07f44br7bc

我将在A列中使用产品名称的语法。在C列中,D和EI将在语法中包含我需要替换的内容,然后将结果存储在B列中。当然,它应该是genrell working代码,它可能适用于越来越少的列。

我的想法是在B列中使用REGEXREPLACE代码并提取两个###之间的所有内容。例如### BRAND ###将匹配BRAND。现在我将用coloumn name BRAND的内容替换它。

如果可以创建这样的正则表达式?有人可以帮我吗?

1 个答案:

答案 0 :(得分:2)

你可以做一些像这样的正则表达式来获得你想要的结果,我们正在Syntax字段上运行正则表达式:

result = replace "^\#\#\#(.+)\#\#\# \#\#\#(.+)\#\#\# \#\#\#(.+)\#\#\#$" with "$1 $2 $3"
brand = replace "^\#\#\#(.+)\#\#\# \#\#\#(.+)\#\#\# \#\#\#(.+)\#\#\#$" with "$1"
type = replace "^\#\#\#(.+)\#\#\# \#\#\#(.+)\#\#\# \#\#\#(.+)\#\#\#$" with "$2"
oem = replace "^\#\#\#(.+)\#\#\# \#\#\#(.+)\#\#\# \#\#\#(.+)\#\#\#$" with "$3"

以下是正则表达式的细分:

  

^匹配字符串的开头
  \#匹配文字#字符
  (。+)匹配字符串,也是一个捕获组,可以在替换中使用   $匹配字符串的结尾

然后,替换

  

$ 1匹配第一个捕获组[第一个(。+)]
  $ 2匹配第二个捕获组[第二个(。+)]
  $ 3匹配第三个捕获组[第三个(。+)]

这是一个正则表达式101测试:https://regex101.com/r/tD2kI3