Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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_Extendscript - Fatal编程技术网

Javascript-用空格分隔字符串,用“连接”连接两个单词|&引用;

Javascript-用空格分隔字符串,用“连接”连接两个单词|&引用;,javascript,extendscript,Javascript,Extendscript,我想这很容易,但我想不出来 var str = "How are you doing today?"; var res = str.split(/\s+/g); 结果是:你今天过得怎么样?。当用户在两个单词之间添加字符“|”时,如下所示 var str = "How are you |doing today?"; 结果应该是:你今天过得怎么样?试试这个: var source=“你今天怎么样?”; var结果=源 .split(/\s+(?!\)/g) .map(功能(段){ 返回段。替换

我想这很容易,但我想不出来

var str = "How are you doing today?";
var res = str.split(/\s+/g);
结果是:
你今天过得怎么样?
。当用户在两个单词之间添加字符“|”时,如下所示

var str = "How are you |doing today?";
结果应该是:
你今天过得怎么样?

试试这个:

var source=“你今天怎么样?”;
var结果=源
.split(/\s+(?!\)/g)
.map(功能(段){
返回段。替换(/((\s+)\ |)/g,$2');
});

控制台日志(结果)你不能做你描述的事情,只能
拆分
。您可以使用否定的先行断言(
/(?!\\124;)/
)来接近,但它将
保留在字符串中:

var str=“你今天怎么样?”;
var arr=str.split(/(?!\ |)/);

控制台日志(arr)首先用管道替换所有空格。然后,每次遇到两个或多个管道时,用空白代替。然后按管道拆分:

var str=`你今天过得怎么样?
好| thanx`;
var arr=str.replace(/{1,}/g,“|”).replace(/\\\\{2,}/g,“”).split(/\\\\\\\\\| \n/);

控制台日志(arr)你好,Jeffrey,箭头函数在extendscript中不起作用。有没有其他方法可以做到这一点。Thanks@A我之前已经用ES5替换了ES2015功能。还是不行吗?也许
Array.map
未在Extendscript中实现?我用另外一个例子更新了我的答案。我刚刚发现(Array.reduce()、Array.forEach()、Array.map()等等)。在extednscript中不起作用。请尝试我答案中的第二个代码段,使用
for
循环和中间变量替代
数组。map
。现在它起作用了,但删除了“do”。结果是:“你今天好吗?”但它也加入了新的行列。第一行的最后一个单词与第二行的第一个单词连接。如果输入字符串中有两个连续的空格,这也会对单词进行分组。