首页 > 解决方案 > 如果我试图拆分最后一个单词,拆分句子不起作用

问题描述

我试图通过删除某个单词来拆分句子,例如:

var word = "am";
var sentence = "Hello am I John?";

var stringpart2 = sentence.split(" ");
var stringpart1 = stringpart2.splice(0,stringpart2.indexOf(word));
stringpart2.remove(word);
stringpart1.remove(word);

var istring1 = stringpart1.toString();
var finalpart1 = istring1.replace(/,/g, " ");
var istring2 = stringpart2.toString();
var finalpart2 = istring2.replace(/,/g, " ");

现在这可以正常工作,因为它返回:

finalpart1 = "Hello I"
finalpart2 = "John?"

但是当我把这个词作为句子中的最后一个词时:

var word = "John";

它返回

finalpart1 = ""
finalpart2 = "Hello am I John?"

任何人都知道如何解决这个问题,所以它是这样的:

finalpart1 = "Hello am I?"
finalpart2 = ""

值得一提的是,我将单词和句子从我通过 $.getJSON 得到的数组中取出,如果单词是句子的第一个单词,它就可以正常工作。

标签: javascriptjqueryhtmlarrays

解决方案


可以直接按字分割:

var splitted = sentence.split(word);
console.log(splitted[0], splitted[1], etc...);

在这种情况下,如果您按 John 拆分,它将看起来与您想要的完全一样。


推荐阅读