Javascript 在字符串中查找单词并从该单词中拆分字符串

Javascript 在字符串中查找单词并从该单词中拆分字符串,javascript,Javascript,我有这个字符串: var str = "select field1,field2,field3 from Table1"; 在上面的字符串中,我想从关键字中提取之前的所有项,并在数组中获得输出,如下所示: field1 field2 field3 但我在数据变量中得到了真正的值,所以我不能用逗号进一步拆分数据变量。 var str=“从表1中选择字段1、字段2、字段3”; var outputArr=[]; var data=str.split(“”).some(函数(

我有这个字符串:

var str = "select field1,field2,field3 from Table1";
在上面的字符串中,我想从关键字中提取之前的所有项,并在数组中获得输出,如下所示:

field1
field2
field3
但我在数据变量中得到了真正的值,所以我不能用逗号进一步拆分数据变量。

var str=“从表1中选择字段1、字段2、字段3”;
var outputArr=[];
var data=str.split(“”).some(函数(w){return w==='from'});
控制台日志(数据)
或者,使用更高级的选项:

var str = "select field1,field2,field3 from Table1".split(" ");
var data=  str[str.findIndex(el=>el.toLowerCase()==="from")-1];//get the element that is right before the from
console.log(data.split(","));
请注意,有些是为了检查某事物的存在,所以它会返回true或false

或者,使用更高级的选项:

var str = "select field1,field2,field3 from Table1".split(" ");
var data=  str[str.findIndex(el=>el.toLowerCase()==="from")-1];//get the element that is right before the from
console.log(data.split(","));
请注意,有些用于检查某事物是否存在,因此它返回true或false…

您可以使用
slice()
from 1 to
indexOf
元素,其值为
from
,然后用逗号分割

var str=“从表1中选择字段1、字段2、字段3”;
var arr=str.split(“”)
var result=arr.slice(1,arr.indexOf('fRoM'.toLowerCase())[0]。拆分(','))
console.log(result)
您可以使用
slice()
从1到
indexOf
元素,使用值
开始,然后用逗号分割

var str=“从表1中选择字段1、字段2、字段3”;
var arr=str.split(“”)
var result=arr.slice(1,arr.indexOf('fRoM'.toLowerCase())[0]。拆分(','))

console.log(结果)
这将为您完成工作

var fromIndex = str.indexOf(' from ');
/*you can put 7 statically because select is exactly 6 letters and consider a space after it*/
str.substring(7,fromIndex).split(',');
更简短的语法

str.substring(7,str.indexOf(' from ')).split(',');

这将为你做这项工作

var fromIndex = str.indexOf(' from ');
/*you can put 7 statically because select is exactly 6 letters and consider a space after it*/
str.substring(7,fromIndex).split(',');
更简短的语法

str.substring(7,str.indexOf(' from ')).split(',');

您也可以尝试以下方法:

str.toLowerCase().split('select')[1].split('from')[0].replace(/ /g,'').split(',')

您也可以尝试以下方法:

str.toLowerCase().split('select')[1].split('from')[0].replace(/ /g,'').split(',')

你想要的是发现而不是一些…你想要的是发现而不是一些…投票赞成你对帮助我所做的善意努力,但是如果from是这样的呢:from或from或from?非常感谢你对帮助我所做的善意努力,请继续这样帮助:)投票赞成你对帮助我所做的善意努力,但是如果from是这样的呢:from或者FROM或者FROM?非常感谢您对帮助我所做的善意努力,请继续这样帮助:)对您对帮助我所做的善意努力投赞成票,但如果FROM是这样的呢:FROM或者FROM或者FROM?
str.substring(7,str.toLowerCase().indexOf('FROM')).split(',')
这将使FixUp投票支持您为帮助我所做的努力,但如果from是这样的呢:from或from或from?
str.substring(7,str.toLowerCase().indexOf('from')).split(',')这将使修正投票支持您帮助我的善意努力,但如果from是这样的:from或from?在您的输入字符串上添加
toLowerCase
。对您帮助我的善意努力进行修正投票支持,但如果from是这样的:from或from或from?在您的输入字符串上添加
toLowerCase
。修正投票支持您的对帮助我的善意努力,但是如果来自是这样的:来自或来自或来自?对你对帮助我的善意努力投了赞成票,但是如果来自是这样的:来自或来自或来自?