Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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中获取分隔字符串的分隔符?_Javascript_Regex_Delimiter - Fatal编程技术网

如何在Javascript中获取分隔字符串的分隔符?

如何在Javascript中获取分隔字符串的分隔符?,javascript,regex,delimiter,Javascript,Regex,Delimiter,假设我有一个字符串,如下所示: var str = "hello=world&universe"; 我的regex replace语句如下所示: str.replace(/([&=])/g, ' '); var strings = ['hello', 'world', 'universe']; var delimiters = ['=', '&']; 如何从上述regex replace语句中获取分隔字符串的分隔符 我希望结果是这样的: str.replace

假设我有一个字符串,如下所示:

var str = "hello=world&universe";
我的regex replace语句如下所示:

str.replace(/([&=])/g, ' ');
var strings    = ['hello', 'world', 'universe'];
var delimiters = ['=', '&'];
如何从上述regex replace语句中获取分隔字符串的分隔符

我希望结果是这样的:

str.replace(/([&=])/g, ' ');
var strings    = ['hello', 'world', 'universe'];
var delimiters = ['=', '&'];

你可以分成一组,然后把各个部分分开

var str=“hello=world&universe”,
[words,delimiters]=str
.split(/([&=])/)
.减少((r,s,i)=>{
r[i%2]。推送;
返回r;
}, [[], []]);
控制台日志(文字);

console.log(分隔符)您可以使用一个组进行拆分,然后将各个部分分开

var str=“hello=world&universe”,
[words,delimiters]=str
.split(/([&=])/)
.减少((r,s,i)=>{
r[i%2]。推送;
返回r;
}, [[], []]);
控制台日志(文字);
console.log(分隔符)这里有一种使用

const str=“hello=world&universe”;
常数re=/([&=])/g;
常量匹配=[];
设pos=0;
常量分隔符=[…str.matchAll(re)].map(m=>{
常数[匹配,捕获]=m;
匹配.push(str.substring(pos,m.index));
pos=m.index+match.length;
复赛;
});
匹配.push(str.substring(pos));
log('matches:',matches.join(',);
log('delimiters:',delimiters.join(',')这里有一种使用

const str=“hello=world&universe”;
常数re=/([&=])/g;
常量匹配=[];
设pos=0;
常量分隔符=[…str.matchAll(re)].map(m=>{
常数[匹配,捕获]=m;
匹配.push(str.substring(pos,m.index));
pos=m.index+match.length;
复赛;
});
匹配.push(str.substring(pos));
log('matches:',matches.join(',);
log('delimiters:',delimiters.join(',')