replace()在尝试替换JavaScript中的换行符(/n/rn/r)时未按预期运行
我刚刚开始使用JavaScript,所以这可能只是一个我忽略的语法错误,也可能是一个正则表达式错误,但代码的源代码似乎被广泛接受 我从问题中得到了密码 如果我传递字符串replace()在尝试替换JavaScript中的换行符(/n/rn/r)时未按预期运行,javascript,regex,Javascript,Regex,我刚刚开始使用JavaScript,所以这可能只是一个我忽略的语法错误,也可能是一个正则表达式错误,但代码的源代码似乎被广泛接受 我从问题中得到了密码 如果我传递字符串这是一个字符串\n它不会替换\n并输出到网页这是一个字符串\n 我的代码如下: <p id="commandOutput">Click run and it will output here</p> <script type="text/javascript"> var exampl
这是一个字符串\n
它不会替换\n
并输出到网页这是一个字符串\n
我的代码如下:
<p id="commandOutput">Click run and it will output here</p>
<script type="text/javascript">
var exampleSocket = new WebSocket("ws://localhost:8080/ws")
var update = function(){
exampleSocket.onmessage = function (event) {
document.getElementById("commandOutput").innerHTML = event.data.toString().replace(/(?:\r\n|\r|\n)/g, "<br/>");
}
};
window.setTimeout(update);
</script>
document.getElementById("commandOutput").innerHTML = event.data.toString().replace(/(?:\r\n|\r|\n)/g, "<br/>");
单击运行,它将在此处输出
var exampleSocket=newWebSocket(“ws://localhost:8080/ws”)
var update=函数(){
exampleSocket.onmessage=函数(事件){
document.getElementById(“commandOutput”).innerHTML=event.data.toString().replace(/(?:\r\n | \r | \n)/g,“
”;
}
};
设置超时(更新);
我的问题涉及这一行:
<p id="commandOutput">Click run and it will output here</p>
<script type="text/javascript">
var exampleSocket = new WebSocket("ws://localhost:8080/ws")
var update = function(){
exampleSocket.onmessage = function (event) {
document.getElementById("commandOutput").innerHTML = event.data.toString().replace(/(?:\r\n|\r|\n)/g, "<br/>");
}
};
window.setTimeout(update);
</script>
document.getElementById("commandOutput").innerHTML = event.data.toString().replace(/(?:\r\n|\r|\n)/g, "<br/>");
document.getElementById(“commandOutput”).innerHTML=event.data.toString().replace(/(?:\r\n | \r | \n)/g,“
”;
正如@Pointy提到的,问题是:
正则表达式对回车符和换行符的特殊控制字符进行操作,而不是对literal
\n
正如@ChrisG所提到的,要解决这个问题,您可以:
使用
\\n
屏蔽反斜杠
正如@Pointy所提到的,问题是:
正则表达式对回车符和换行符的特殊控制字符进行操作,而不是对literal
\n
正如@ChrisG所提到的,要解决这个问题,您可以:
使用
\\n
屏蔽反斜杠
正则表达式对回车符和换行符的特殊控制字符进行操作,而不是对literal
\n
@Pointy-Ah进行操作,我明白了。如何添加文字\n
,因为我传递的字符串是使用文字\n
构造的,请使用\\n
来屏蔽反斜杠。@ChrisG谢谢!工作原理类似于字符正则表达式对回车符和换行符的特殊控制字符进行操作,而不是对literal\n
@Pointy Ah进行操作,我明白了。如何添加文字\n
,因为我传递的字符串是使用文字\n
构造的,请使用\\n
来屏蔽反斜杠。@ChrisG谢谢!很有魅力