javascript将空格转换为字符串中的符号

javascript将空格转换为字符串中的符号,javascript,Javascript,如何将字母之间的空格转换为另一个字符,如- 已解决: 对于那些有同样问题的人: var namePicked = names[Math.floor(Math.random() * names.length)]; var x = namePicked.replace(/[A-Za-z]/g, "_").replace(/\s/g, "-"); var y = x.split("").join(" "); var namePicked = names[Math.floor(Math.random(

如何将字母之间的空格转换为另一个字符,如-

已解决:

对于那些有同样问题的人:

var namePicked = names[Math.floor(Math.random() * names.length)];
var x = namePicked.replace(/[A-Za-z]/g, "_").replace(/\s/g, "-");
var y = x.split("").join(" ");
var namePicked = names[Math.floor(Math.random() * names.length)];
var x = namePicked.replace(/[A-Za-z]/g, "_").replace(/\s/g, "-");
var y = x.split("").join(" ");
这将使随机选择的约翰·史密斯成为

__u-_

字母之间用空格隔开,字母变成下划线和空格 变成破折号。这是通过javascript的方式解决的。你也可以 这是一个循环

这是我之前的代码:

还有其他一些变化,但都不起作用

如何将字母之间的空格转换为另一个字符,如-

你知道要替换什么,你知道要替换什么,现在你只需要使用替换:

var new_str=old_str.replace//g,-

RegEx//g表示每个空间

如何将字母之间的空格转换为另一个字符,如-

你知道要替换什么,你知道要替换什么,现在你只需要使用替换:

var new_str=old_str.replace//g,-

RegEx//g表示每个空格

试试这个

<script>
    var names = ["John Smith", "Joe Doe", "Ian Nobody", "James Black"];
    var namePicked = names[Math.floor(Math.random() * names.length)];


    window.onload = function () {
        var nameoutput = "";
        for (var i = 0; i < namePicked.length; i++) {
            if (namePicked[i] == " ") {
                nameoutput += " ";
            }
            else {
                nameoutput += "X";
            }
        }
        document.getElementById("nameDisplay").innerHTML = nameoutput;
    }
</script>
试试这个

<script>
    var names = ["John Smith", "Joe Doe", "Ian Nobody", "James Black"];
    var namePicked = names[Math.floor(Math.random() * names.length)];


    window.onload = function () {
        var nameoutput = "";
        for (var i = 0; i < namePicked.length; i++) {
            if (namePicked[i] == " ") {
                nameoutput += " ";
            }
            else {
                nameoutput += "X";
            }
        }
        document.getElementById("nameDisplay").innerHTML = nameoutput;
    }
</script>

您可以使用“映射”方法。map方法将把函数调用“映射”到数组中的每个元素上,因此您需要使用方法split从字符串创建数组

var name=约翰·史密斯; var下划线名称=; name.split.mapfunctioncurrentValue、索引、名称字符串{ 如果当前值!={ 下划线的名称+=389;; }否则{ 下划线名称+=-; } }; console.logname;//约翰·史密斯
console.log下划线名称;//____-_____ 您可以使用“映射”方法。map方法将把函数调用“映射”到数组中的每个元素上,因此您需要使用方法split从字符串创建数组

var name=约翰·史密斯; var下划线名称=; name.split.mapfunctioncurrentValue、索引、名称字符串{ 如果当前值!={ 下划线的名称+=389;; }否则{ 下划线名称+=-; } }; console.logname;//约翰·史密斯
console.log下划线名称;//____-_____ 可以使用以下方法将所有空格转换为任何其他字符:

请注意,必须将replace的返回值指定给变量

/\s/g正则表达式选择所有空格

下面是一个如何将其应用于您的情况的示例:

var name=[约翰·史密斯、乔·多伊、伊恩·诺布尔、詹姆斯·布莱克]; console.log'names before:',names; 对于var i=0;iconsole.log'names after:',name 可以使用以下方法将所有空格转换为任何其他字符:

请注意,必须将replace的返回值指定给变量

/\s/g正则表达式选择所有空格

下面是一个如何将其应用于您的情况的示例:

var name=[约翰·史密斯、乔·多伊、伊恩·诺布尔、詹姆斯·布莱克]; console.log'names before:',names; 对于var i=0;i var name=[约翰·史密斯、乔·多伊、伊恩·诺布尔、詹姆斯·布莱克]; var result=names.mapname=>name.replace/[^\s\\]/g'.''.'.split'。连接'-'; console.logresult 您可以将“替换”和“拆分”链接起来,用下划线替换所有非空白字符,然后用破折号替换名字和姓氏之间的空格

var name=[约翰·史密斯、乔·多伊、伊恩·诺布尔、詹姆斯·布莱克]; var result=names.mapname=>name.replace/[^\s\\]/g'.''.'.split'。连接'-';
console.logresult 对于那些有同样问题的人:

var namePicked = names[Math.floor(Math.random() * names.length)];
var x = namePicked.replace(/[A-Za-z]/g, "_").replace(/\s/g, "-");
var y = x.split("").join(" ");
var namePicked = names[Math.floor(Math.random() * names.length)];
var x = namePicked.replace(/[A-Za-z]/g, "_").replace(/\s/g, "-");
var y = x.split("").join(" ");
这将使随机选择的约翰·史密斯成为

__u-_

字母之间用空格隔开,字母变成下划线,空格变成破折号。
这是通过javascript的方式解决的。您也可以使用循环来完成此操作。

对于那些有相同问题的人:

var namePicked = names[Math.floor(Math.random() * names.length)];
var x = namePicked.replace(/[A-Za-z]/g, "_").replace(/\s/g, "-");
var y = x.split("").join(" ");
var namePicked = names[Math.floor(Math.random() * names.length)];
var x = namePicked.replace(/[A-Za-z]/g, "_").replace(/\s/g, "-");
var y = x.split("").join(" ");
这将使随机选择的约翰·史密斯成为

__u-_

字母之间用空格隔开,字母变成下划线,空格变成破折号。
这是通过javascript的方式解决的。您还可以使用循环来执行此操作。

names.mapname=>name.split“”。是否加入“-”?这有点低效,所以可以使用name.replace“”,“-”。请看replace.John Smith.replace/\s/g,“-”。replace/[^!-]/g,”;我会给你uuuuuuuuuuuuuuuuuuuuuuu。或者,只有一个替换:John Smith.replace/\s |[^!\s]/g,m,s,l=>l?“:”-”;,但是它更难阅读,你也可以这样做:str.split.join-;请更新您的问题并描述所需的输出。name.mapname=>name.split“”。是否加入“-”?这有点低效,所以可以使用name.replace“”,“-”。请看replace.John Smith.replace/\s/g,“-”。replace/[^!-]/g,”;我会给你uuuuuuuuuuuuuuuuuuuuuuu。或者,只有一个替换:John Smith.replace/\s |[^!\s]/g,m,s,l=>l?“:”-”;,但这更难理解

readyou也可以这样做:str.split.join-;请更新您的问题并描述所需的输出。谢谢,Ram。这是可行的,但它没有给我下划线之间的空间。你会怎么做?事实上,我发现在-或u后面加一个空格就可以了。但是,我想知道是否有更好的方法来实现这一点,因为添加一个空格将在转换后的字符串的末尾添加一个空格。谢谢,Ram。这是可行的,但它没有给我下划线之间的空间。你会怎么做?事实上,我发现在-或u后面加一个空格就可以了。但是,我想知道是否有更好的方法来实现这一点,因为添加一个空格将在转换后的字符串的末尾添加一个空格。谢谢Evans。除非我遗漏了什么,否则我无法让你的建议生效。谢谢埃文斯。除非我遗漏了什么,否则我无法让你的建议生效。谢谢,查瓦。不幸的是,这只会打印出一堆u和-,它们与生成的名称不匹配。@vietnguyen u的数量与名称中的字符数量匹配。然而,由于您需要下划线之间的空格,我添加了两件事:1在字符串末尾的最后一个字符的额外空格后,用“u”替换每个“u”。谢谢,Chava。不幸的是,这只会打印出一堆u和-,它们与生成的名称不匹配。@vietnguyen u的数量与名称中的字符数量匹配。然而,由于你需要下划线之间的空格,我添加了两件事:1在字符串末尾的最后一个字符的额外空格后,用“u”替换每个“u”。谢谢blex和Ivan。这很有效。如何在每个下划线和破折号之间添加空格?事实上,我发现在-或uu之后添加空格就可以了。但是,我想知道是否有更好的方法来实现这一点,因为添加一个空格将在转换后的字符串末尾添加一个空格。谢谢blex和Ivan。这很有效。如何在每个下划线和破折号之间添加空格?事实上,我发现在-或uu之后添加空格就可以了。但是,我想知道是否有更好的方法来实现这一点,因为添加一个空格将在转换后的字符串的末尾添加一个空格。