Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不使用match()查找精确字符串_Javascript - Fatal编程技术网

Javascript 不使用match()查找精确字符串

Javascript 不使用match()查找精确字符串,javascript,Javascript,这是我的密码。我正在尝试匹配已存储在命中数组[]中的确切单词。我只想打印myName变量中的确切内容。没有match()方法我们能做到这一点吗 var text=“blaah bllaah bllaah Paolo blahh Paaolo Paolo”; var myName=“Paolo”; var命中率=[]; 对于(var x=0;x您可以使用indexOfmethode: “布拉布拉布拉布拉布拉保罗布拉布拉保罗保罗”。指数('Paolo')=>23 “blaah bllaah blla

这是我的密码。我正在尝试匹配已存储在命中数组[]中的确切单词。我只想打印myName变量中的确切内容。没有match()方法我们能做到这一点吗

var text=“blaah bllaah bllaah Paolo blahh Paaolo Paolo”;
var myName=“Paolo”;
var命中率=[];

对于(var x=0;x您可以使用
indexOf
methode:

“布拉布拉布拉布拉布拉保罗布拉布拉保罗保罗”。指数('Paolo')
=>23

“blaah bllaah bllaah Paolo blahh Paaolo Paolo”。indexOf('Paolooo')
=>-1

一个简单的条件:

if(text.indexOf(myName) != -1) {
  // name found
}
或者,如果要匹配单词,只需将单词列表拆分为一个单词数组:

if(text.split(' ').indexOf(myName) != -1) {
  // name found
}

现场观看:

var text=“blaah bllaah bllaah Paolo blahh Paaolo Paolo”;
函数findName(word){
var name=prompt('输入名称:');
如果(!name)
返回;
var t=word?text.split(“”):text;
if(t.indexOf(name)!=-1){
警报('Name'+Name+'found!');
}
否则{
警报('Name'+Name+'未找到!');
}
findName(word);
}
字符串匹配
单词匹配
尝试以下操作:

var text = "Blaaah Bllaaah Bllaaah Paolo Blahhh Paaolo paolo";

var myName = "Paolo";

var foundArray = text.split(" ").filter(function(e){ return e == myName });

if (foundArray.length) { /* name is found */ }

您可以使用精确匹配的简单事实:
if(“abc”==“abc”)

首先创建一个与搜索匹配的数组。然后将所有这些数组元素与上面的代码进行比较。结果如下:

var haystack = "Blaaah Bllaaah Bllaaah Paolo Paolo Blahhh Paaolo paolo";

var search = "Paolo";

// Create an array
var haystackArray = haystack.split(" ");
var hits =0;

// For each array element
for(var i = 0; i < haystackArray.length; i ++){
    // Check if this array element match exactly your search string
    if(search == haystackArray[i])
        hits++;
}
console.log(hits);
var haystack=“Blaaah bllaah bllaah Paolo Paolo blahh Paaolo Paolo”;
var search=“Paolo”;
//创建一个数组
var haystackArray=haystack.split(“”);
var=0;
//对于每个数组元素
对于(var i=0;i
那么:

var text = "Blaaah Bllaaah Bllaaah Paolo Blahhh Paaolo paolo";

var myName = "Paolo";

var textArray = text.split(' ');
var hits = textArray.filter(function(value){ return value === myName; });

if(hits.length === 0 ){
  console.log("Your name wasn't found");    
}else{
  console.log(hits);
}

解决方案使用
array.filter()
查找精确的匹配项。

declar您的文本作为数组。最好使用匹配函数。例如:“Blaaah bllaah bllaah Paolo blahh Paaolo Paolo”。匹配(/\bPaaolo\b/)这对“PaoloPaolo”不起作用.所以它不是不合理的。而且它不应该…你能在原文中看到
PaoloPaolo
吗?应该,当原文中没有“Paolo”一词,但有“PaoloPaolo”时,它会找到Paolo两次我们不在搜索,奥普说他不想找到准确的字符串word@simon,能够清晰地阅读问题和分析OP的原始代码,这将使你比在投票中暴跳如雷走得更远。。。
var text = "Blaaah Bllaaah Bllaaah Paolo Blahhh Paaolo paolo";

var myName = "Paolo";

var textArray = text.split(' ');
var hits = textArray.filter(function(value){ return value === myName; });

if(hits.length === 0 ){
  console.log("Your name wasn't found");    
}else{
  console.log(hits);
}