获取javascript中选定关键字之前的所有字符
我需要获得所选关键字之前的所有字符 例: 需要什么获取javascript中选定关键字之前的所有字符,javascript,Javascript,我需要获得所选关键字之前的所有字符 例: 需要什么 expected results = 'for this stack overflow question' const str=“这是这个堆栈溢出问题的示例语句” const searchTerm=“堆栈” 常量字符串=str.split(“”); //如果您非常确定str`must`包含搜索词 const idx=strings.findIndex(item=>item==searchTerm); //如果您非常确定idx必须大于2 co
expected results = 'for this stack overflow question'
const str=“这是这个堆栈溢出问题的示例语句”
const searchTerm=“堆栈”
常量字符串=str.split(“”);
//如果您非常确定str`must`包含搜索词
const idx=strings.findIndex(item=>item==searchTerm);
//如果您非常确定idx必须大于2
console.log(strings.slice(idx-2.join)(“”)代码>您可以拆分字符串,然后搜索搜索项的索引。如果索引不等于-1,则只需对数组执行联接操作。
尝试以下方法。此外,如果搜索词被空格分隔,则可以使用replace()
替换搜索词
const str=“这是这个堆栈溢出问题的示例语句”
const searchTerm=“堆栈溢出”;
var strReplace=str.replace(搜索术语“&&”);
var strArray=strReplace.split(“”);
var指数=strArray.indexOf('&&');
如果(索引!=-1){
索引=索引-2>=0?索引-2:索引;
var result=strArray.slice(index.join)(“”).replace(“&&&”,searchTerm);
}
控制台日志(结果)
您可以使用arrayspilt()
、slice()
和join()
方法来实现这一点:
let str=“这是这个堆栈溢出问题的示例语句”;
让searchTerm=“堆栈”
函数getSubstring(str){
var arrStr=str.split(“”);
var-termIndex=arrStr.indexOf(搜索术语);
var-res;
如果(termIndex-2>-1){
res=arrStr.slice(termIndex-2).join(“”);
}否则{
res=arrStr.slice(termIndex.join)(“”);
}
返回res;
}
log(getSubstring(str));
str=“堆栈溢出问题”
log(getSubstring(str))代码>执行以下操作:
const str=“这是这个堆栈溢出问题的示例语句”
const searchTerm=“堆栈”;
var strArray=str.split(“”);
var searchTermIndex=strArray.indexOf(searchTerm);
如果(搜索终端索引-2>-1){
var result=strArray.slice(searchTermIndex-2).join(“”);
控制台日志(结果);
}
可以很好地处理单个单词。。但是,当我们添加两个单词,并为搜索词留出空间时。。那就不工作了,伙计..ye.不行,因为我们把str用空格分开了.可能是你的问题是用一个单词来区分不同的工作没问题。。但是,当我们添加两个单词,并为搜索词留出空间时。。然后不是工作伙伴..用一个词就可以了。。但是,当我们添加两个单词,并为搜索词留出空间时。。然后不是工作伙伴。@lpradhap首先使用replace()
。检查更新后的代码,现在告诉我它是否有效。
expected results = 'for this stack overflow question'