You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Apps Script写入Sheet时如何保留正则中的'\s'

解决Google Apps Script填充公式时\s丢失反斜杠的问题

问题原因

在JavaScript字符串里,反斜杠是转义字符。你写的"\s"会被JS解析:因为\s不是JS标准的转义序列(像\n、\"这种才是),所以反斜杠会被直接丢弃,最终传入Google Sheets的公式里就只剩"s",导致REGEXREPLACE匹配字母s而非空白字符。

解决方法

要在最终的公式字符串里保留单个反斜杠,你需要在JS代码里用两个反斜杠来表示(\\),这样JS会解析出一个反斜杠传入Sheet。

修改后的代码

把你代码中所有的"\s"替换为"\\s","-|\s"替换为"-|\\s",修正后的代码片段如下:

descriptionSheet.appendRow(['Brand', 
                            'Product Type', 
                            'Product Name', 
                            'Size', 
                            'Colour', 
                            'Condition', 
                            '', 
                            '=VLOOKUP(D2&" "&A2&" "&B2,Measurements!A:C,2,FALSE)', 
                            '=VLOOKUP(D2&" "&A2&" "&B2,Measurements!A:C,3,FALSE)', 
                            '=A2&" "&IF(C2="","",C2&" ")&B2&"\n\n"&D2&"\n"&E2&"\n\n"&F2&" condition - "&IF(G2="","No rips, holes or stains!",G2)&"\n\nMeasurements\n⦿ Pit to pit: "&H2&" inch\n⦿ Shoulder hem to bottom: "&I2&" inch\n\nVerified Depop Top Seller! Shop with confidence.\n\nFree Shipping on bundles.\nSame day dispatch on request.\n\n#"&REGEXREPLACE(A2,"\\s","")&" #"&REGEXREPLACE(A2&B2,"-|\\s","")&" #"&REGEXREPLACE(K2,"-|\\s","")', 
                            '=CONCATENATE(A2," ",B2," ",C2)', 
                            '=REGEXREPLACE(A2,"[^A-ZÀ-Ö]","")&"-"&REGEXREPLACE(K2,"[^A-Z0-9]","")&"-"&D2&"-"&SUBSTITUTE(UPPER(JOIN("",ArrayFormula(left(split(F2," "),1)))),"-","")&"-"&UPPER(LEFT(E2,3))'
                        ]);

关于你尝试的方法失效说明

  • String.raw:这个方法只对ES6的模板字符串(用`包裹)生效,你用的是普通单/双引号字符串,所以不起作用。
  • /\s/g:这是JavaScript的正则表达式对象,但appendRow需要传入的是字符串形式的公式,直接传正则对象会被转成字符串"/\\s/g",不符合Sheet公式的语法要求。

内容的提问来源于stack exchange,提问作者Street Garms

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 01:37:35