我在 Google 表格中作業,并將資訊從多張表格傳遞到另一張表格。但是,當用戶將他們的代表和體重輸入表單(然后將資訊發送到 Google 表格)時,它會將所有這些資訊放在一個單元格中。
因此,單元格“C2”將收到:
“代表:15,重量:150 代表:12,重量:175 代表:10,重量:200 代表:8,重量:225 代表:6,重量:250”
以單個細胞的形式。
使用 App Script,我如何剖析這個單元格以訪問數字,以便我可以將每個單元格放入不同的對應單元格中?
我希望能夠將 15 移動到“C4”,將 150 移動到“C5”等等。我不需要任何單詞等,只需要保存到單獨變數中的數字。
到目前為止,我已經...
var Repsandweight = XPentry.getRange("M2").getValue();
var string = Repsandweight.toString();
var string2 = string.replace("Reps: ", "");
var string3 = string2.indexOf(", Weight: ");
var Rep1 = string2.slice(0,string3);
var string4 = string2.replace(Rep1 ", Weight: ", "");
var string5 = string4.indexOf("Reps: ", "");
var Weight1 = string4.slice(0,string5);
它可以作業,但是非常非常慢,并且只迭代我告訴它的次數。基本上,我什么都不用替換單詞,找到下一個單詞,在該單詞出現之前剪掉它,將片段保存為變數。如果串列大小不同,這怎么會是一個停止的回圈?
uj5u.com熱心網友回復:
您可以使用正則運算式決議字串以獲得所需的值:
在回圈中,您可以訪問代表和重量作為字串,您可以將其用于插入到您想要的任何單元格中。
const fullString = "Reps: 15, Weight: 150 Reps: 12, Weight: 175 Reps: 10, Weight: 200 Reps: 8, Weight: 225 Reps: 6, Weight: 250";
const matches = fullString.matchAll(/Reps: (\d ), Weight: (\d )/g);
for (const match of matches) {
const [reps, weight] = match.slice(1);
console.log('Reps:', reps);
console.log('Weight:', weight);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/408569.html
標籤:
上一篇:基于列拆分作業表
