我有以下代碼,我希望第一個 if 陳述句僅在 r[18] < 6 時為真,并且對于第 14 列中以“C”開頭的單元格,我正在嘗試使用正則運算式來提取第一個字母但不熟悉使用正則運算式。有人可以幫忙嗎。謝謝
const ss = SpreadsheetApp.openById('10D0Qa8Y6nrAgeuS0V6-GyKkQBRooMUwseRc8agi7iN4');
const sh = ss.getSheetByName("QUOTATIONS");
const vs = sh.getRange(2, 1, sh.getLastRow() - 1, sh.getLastColumn()).getValues();
const prod = sh.getRange(2, 14, sh.getLastRow() - 1, 1).getValues();
RegExp(/^C/i,prod,0);
vs.forEach((r,i) => { if(r[18] < 6 && RegExp(/^C/i,prod,0))
sh.getRange(i 2,33).setNumberFormat("0.#0").setValue((r[18] * r[19]) (r[21] * r[22]) (r[24] * r[25]) (r[27] * r[28]) (r[28] * r[31]) (6 - r[18]) * 20)
vs.forEach((r,i) => { if(r[18] >= 6)
sh.getRange(i 2,33).setNumberFormat("0.#0").setValue((r[18] * r[19]) (r[21] * r[22]) (r[24] * r[25]) (r[27] * r[28]) (r[28] * r[31]))
});
}
)}```
uj5u.com熱心網友回復:
如果您只需要第一個字母,您甚至不需要 RegExp。可以通過slice()這種方式完成:
var s = 'abc'
console.log(s.slice(0,1)) // output: 'a'
甚至:
var s = 'abc'
console.log(s[0]) // output: 'a'
如果你想要 RegExp 它可以是string.match(/reg/)or /reg/.test(string):
var s = 'abc'
if (s.match(/^a/i)) { console.log('yes') } else { console.log('no') } // yes
if (s.match(/^b/i)) { console.log('yes') } else { console.log('no') } // no
if (/^a/i.test(s)) { console.log('yes') } else { console.log('no') } // yes
if (/^b/i.test(s)) { console.log('yes') } else { console.log('no') } // no
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/435855.html
標籤:谷歌应用脚本
