替换JavaScript中的单词

时间:2013-10-21 15:27:56

标签: javascript html string replace

我只想交换字符串中的单词,请考虑:

var str = "this is a test string";

现在测试应该用string&字符串应该由test替换 所以输出应该是

"this is a string test"

实际代码:

<html>
<title> Swappping Words </title>
<body>
    <script type="text/javascript">
        var o_name = prompt("Enter the String", "");
        var replace1 = prompt("Enter the first word to replace ", "");
        var r1 = prompt("replacing word of 1", "")
        var replace2 = prompt("Enter the second word to replace ", "");
        var r2 = prompt("replacing word of 2", "")
        var n_name1 = o_name.replace(replace1, r1).replace(replace2, r2);
        document.writeln("Old string = " +o_name);
        document.writeln("New string = " +n_name1);
    </script>  
</body>

我正在学习基础知识,有人可以向我解释如何做到这一点吗?

2 个答案:

答案 0 :(得分:9)

您将面临的主要问题是,除非您同时进行两次替换,否则您将面临用第二次替换首次替换的风险。

试试这个:

var result = str.replace(/test|string/g,function(m) {
    switch(m) {
        case "test": return "string";
        case "string": return "test";
    }
});

答案 1 :(得分:1)

您可以使用临时占位符,以便在交换值时不会覆盖。在这么多行中,只是让你清楚地了解这个想法。

<script>
var s="this is a test string";
s=s.replace("string","#temp#");
s=s.replace("test","string");
s=s.replace("#temp#","test");
alert(s);
</script>