字符串由不同的分隔符分隔.我必须将每个字符串转换为与定界符位置相同的字符串

Adi*_*tya 0 javascript arrays string

问题陈述 :

var str = "my,name!is? aditya"
Run Code Online (Sandbox Code Playgroud)

输出应该是:

 ym,eman!si? aytida
Run Code Online (Sandbox Code Playgroud)

=>反转由任何分隔符分隔的每个单词,并且在反转后,分隔符的位置保持相同.

我尝试了什么:

str=str.split('').reverse().join('') 
Run Code Online (Sandbox Code Playgroud)

但它是反向打印整个字符串.如何达到预期的效果?

Cer*_*nce 5

你需要反转每个单词,而不是整个字符串.一种选择是使用.replace- 匹配单词字符,并使用反转每个单词的回调:

var str = "my,name!is? aditya"
console.log(
  str.replace(/\w+/g, word => [...word].reverse().join(''))
);
Run Code Online (Sandbox Code Playgroud)