Javascript 如何在使用.join(&x27;&x27;)时将正则表达式从数组传递到字符串,例如[“X”、“M”、“E”、“N”]

Javascript 如何在使用.join(&x27;&x27;)时将正则表达式从数组传递到字符串,例如[“X”、“M”、“E”、“N”],javascript,json,node.js,Javascript,Json,Node.js,为单词的每个字母创建下划线。这是我想要实现的一个例子(单词是“涂鸦”): 现在,我有一个词有一个炒作(例如“X战警”)。我将如何对其进行编码,以使输出为: _ - _ _ _ 我想把连字符传过去。我知道这与正则表达式有关。有人能帮我解释一下这个过程吗 ["X", "-", "m", "e", "n"].join("").replace(/[^-]/g, "_") 这将把数组连接成一个字符串,并用下划线替换除连字符以外的所有内容 将要排除的每个字符添加到^之后,您可以: ["X", "-",

为单词的每个字母创建下划线。这是我想要实现的一个例子(单词是“涂鸦”):

现在,我有一个词有一个炒作(例如“X战警”)。我将如何对其进行编码,以使输出为:

_ - _ _ _
我想把连字符传过去。我知道这与正则表达式有关。有人能帮我解释一下这个过程吗

["X", "-", "m", "e", "n"].join("").replace(/[^-]/g, "_")
这将把数组连接成一个字符串,并用下划线替换除连字符以外的所有内容

将要排除的每个字符添加到
^

之后,您可以:

["X", "-", "m", "e", "n"].join("").replace(/[^-]/g, "_")
这将把数组连接成一个字符串,并用下划线替换除连字符以外的所有内容


将要排除的每个字符添加到
^

后面。假设要保留任何特殊字符,而不仅仅是连字符,则以下操作应有效:

var word=“doodle”;
var word2=“x战警”;
var word3=“杰克和吉尔”
var reg=/[0-9a-zA-Z]/gm
控制台日志(word.replace(reg,“”))
console.log(word2.replace(reg,“”))

console.log(word3.replace(reg,“”))
假设您希望保留任何特殊字符,而不仅仅是连字符,以下操作应该可以:

var word=“doodle”;
var word2=“x战警”;
var word3=“杰克和吉尔”
var reg=/[0-9a-zA-Z]/gm
控制台日志(word.replace(reg,“”))
console.log(word2.replace(reg,“”))

console.log(word3.replace(reg,“”))
['X'、'-'、'M'、'E'、'N'].map(c=>c==='-'?c:'''''''''''.join('')
-当然,regex和字符串replace对于回复来说是有效的,下面的@Switch和@tiagodws出色地完成了这个解决方案,给我留下了最深刻的印象-他们甚至在“^”之后遗漏了一个添加我想排除的字符的选项。当然,正则表达式和字符串替换对于回答来说是可行的,下面的@Swick和@tiagodws出色地完成了这个解决方案,给我留下了最深刻的印象-他们甚至在“^”之后遗漏了一个添加我想排除的字符的选项。另外,如果你想包含所有特殊字符,类似这样的操作只会去掉字母数字字符:
myArr.join(“”).更换(/[0-9A-Za-z]/g,“”)
。。。例如,如果
myString=“O'Connor”
,结果将是
忘记了
.join()
中的引号,这将导致字符串
”X、,m,e,n
。添加了它们,但是编辑需要超过六个字符,所以我做了一些详细的说明。希望你不介意@为了更好地回答原来的问题,编辑后忘记了它:绝对!很乐意帮忙:)@谢谢!我对你的方法很感兴趣。此外,如果你想包含所有特殊字符,像这样的东西只会去掉字母数字字符:
myArr.join(“”)。replace(/[0-9A-Za-z]/g,“”)
。。。例如,如果
myString=“O'Connor”
,结果将是
忘记了
.join()
中的引号,这将导致字符串
”X、,m,e,n
。添加了它们,但是编辑需要超过六个字符,所以我做了一些详细的说明。希望你不介意@为了更好地回答原来的问题,编辑后忘记了它:绝对!很乐意帮忙:)@谢谢!我被你的方法所鼓舞。