我想检查一个子字符串是否在一个字符串中。
该字符串来自 Google 表格的第 12 行。 子字符串来自用户插入数据的 HTML 表单。 (在下面的例子中是一个简单的字符串,它仍然不起作用。问题不是插入的数据。)
我想在检测到子字符串时显示字符串的行号。
for (var i=0; i < sheetDataRange.getValues().length; i++) {
if (sheetDataRange.getValues()[i][11].includes("I14")) { // The string value is okay
SpreadsheetApp.getUi().alert(i+5); // The data starts at the 5th row
}
}
我尝试使用 contains() 函数解决该问题。 问题是一些没有“I14”的行被显示,而其他没有。 我也尝试使用 match() 函数,但它不起作用。
感谢您的帮助。
答案 0 :(得分:1)
您只需要 getValues() 一次,而不是每次遍历循环时
CREATE TABLE employees
(
EMPLOYEE_ID NUMBER(6) PRIMARY KEY NOT NULL,
FIRST_NAME VARCHAR(20),
LAST_NAME VARCHAR( 25) NOT NULL,
EMAIL VARCHAR(25) NOT NULL,
PHONE_NUMBER VARCHAR(20),
HIRE_DATE DATE NOT NULL,
JOB_ID VARCHAR2(10) NOT NULL,
SALARY NUMBER(8,2),
COMISSION_PCT NUMBER(2,2),
MANAGER_ID NUMBER(6),
DEPARTMENT_ID NUMBER(4)
);
CREATE TABLE job_history
(
EMPLOYEE_ID NUMBER(6) PRIMARY KEY NOT NULL,
START_DATE DATE NOT NULL,
END_DATE DATE NOT NULL,
JOB_ID VARCHAR2(10) NOT NULL,
DEPARTMENT_ID NUMBER(4)
);
--Question 1
INSERT INTO employees (EMPLOYEE_ID, LAST_NAME, EMAIL, HIRE_DATE, JOB_ID, DEPARTMENT_ID)
VALUES(176, 'Taylor', 'jasontaylor@gmail.com', '1999-AUG-31, 'SA_REP', 80);
INSERT INTO employees (EMPLOYEE_ID, LAST_NAME, EMAIL, HIRE_DATE, JOB_ID, DEPARTMENT_ID)
VALUES(200, 'Whalen', 'justinwhalen@gmail.com', DATE '1993-06-18', 'AD_ASST', 200);
SELECT LAST_NAME, DEPARTMENT_ID, END_DATE, JOB_ID, EMPLOYEE_ID
FROM employees;
NATURAL JOIN job_history;