From 6970f47f8475d754069040c76219eea69a7f4a70 Mon Sep 17 00:00:00 2001 From: cdswyda Date: Wed, 15 Sep 2021 09:54:59 +0800 Subject: [PATCH] =?UTF-8?q?fix(search):=20=E6=9F=A5=E6=89=BE=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E7=9A=84=E9=94=99=E8=AF=AF=EF=BC=8C=E6=9C=AA=E5=8B=BE?= =?UTF-8?q?=E9=80=89=E6=AD=A3=E5=88=99=E6=97=B6=EF=BC=8C=E4=B9=9F=E6=98=AF?= =?UTF-8?q?=E6=AD=A3=E5=88=99=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/searchReplace.js | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/controllers/searchReplace.js b/src/controllers/searchReplace.js index fe80d42..51c54ba 100644 --- a/src/controllers/searchReplace.js +++ b/src/controllers/searchReplace.js @@ -409,6 +409,10 @@ const luckysheetSearchReplace = { if(value != null && value != ""){ value = value.toString(); + // 1. 勾选整词 直接匹配 + // 2. 勾选了正则 结合是否勾选 构造正则 + // 3. 什么都没选 用字符串 indexOf 匹配 + if(wordCheck){ //整词 if(caseCheck){ if(searchText == value){ @@ -430,6 +434,7 @@ const luckysheetSearchReplace = { } else if(regCheck){ //正则表达式 let reg; + // 是否区分大小写 if(caseCheck){ reg = new RegExp(func_methods.getRegExpStr(searchText), "g"); } @@ -444,20 +449,8 @@ const luckysheetSearchReplace = { } } } - else if(caseCheck){ //区分大小写 - let reg = new RegExp(func_methods.getRegExpStr(searchText), "g"); - - if(reg.test(value)){ - if(!((r + "_" + c) in obj)){ - obj[r + "_" + c] = 0; - arr.push({"r": r, "c": c}); - } - } - } else{ - let reg = new RegExp(func_methods.getRegExpStr(searchText), "ig"); - - if(reg.test(value)){ + if(~value.indexOf(searchText)){ if(!((r + "_" + c) in obj)){ obj[r + "_" + c] = 0; arr.push({"r": r, "c": c});