我正在尝试通过删除某个单词来拆分句子 例如:
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数组中取出单词和句子的,如果单词是句子的第一个单词,就可以了。
答案 0 :(得分:0)
您可以直接用单词分割:
var splitted = sentence.split(word);
console.log(splitted[0], splitted[1], etc...);
在这种情况下,如果您与John分手,它将看起来像您想要的。
答案 1 :(得分:0)
您可以使用以下正则表达式:
function replace(text, word) {
return text.replace(new RegExp('\\s\\b' + word + '|' + word + '\\b\\s'), '')
}
const text = 'Hello am I John?'
console.log( replace(text, 'Hello') )
console.log( replace(text, 'am') )
console.log( replace(text, 'John') )