【问题标题】:Javascript: is it possible to console.log hidden chars ('\n, \r')? [duplicate]Javascript:是否可以 console.log 隐藏字符('\n,\r')? [复制]
【发布时间】:2018-03-20 13:17:22
【问题描述】:

我有一些内部有换行符的字符串,在控制台中它们显示为换行符:

string1:
test 1
test 2
test 3

我需要拆分字符串并制作如下内容:

string1:
<p>test 1</p>
<p>test 2</p>
<p>test 3</p>

对于其中大多数,下一个代码有效:

string1.split('\n\n').join('</p><p>')

但对于某些字符串,这不起作用,所以我可以假设它们有其他换行符,例如 '\r\n'

我能以某种方式查看所有换行符吗?我的意思是类似下一个:

string1:
test 1\n\n
test 2\n\n
test 3\n\n

【问题讨论】:

  • console.log(escape(yourString))
  • @epascarello 非常感谢,JSON.stringify 正是我所需要的

标签: javascript


【解决方案1】:

这将是一个正则表达式的好例子。有时换行符只有\n,有时\r\n。在这里查看答案:Match line break with regular expression 和 JavaScript 中关于 replace() 的文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace

【讨论】:

    【解决方案2】:

    不就是一个换行吗:

    test1\ntest2\ntest3
    

    另外,您可以使用替换而不是拆分连接:

    string1.replace(/\r\n|\n\r|\n|\r/g, '</p><p>')
    

    确保在开头和结尾添加:

    '<p>' + string1.replace('\n', '</p><p>') + '</p>'
    

    【讨论】:

    • 问题是我不知道应该替换什么字符。当我替换 \n - 它适用于大多数字符串我会尝试如上所述的转义,希望这会有所帮助
    • 而且替换行是错误的....只会替换一个实例
    • 糟糕,我忘记了。应该是string1.replace(/\n/g, '&lt;/p&gt;&lt;p&gt;')
    • 仍然没有回答OP的问题。
    • 也许您可以检查任一换行符类型(\n\r\n\r\r\n)。
    猜你喜欢
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-19
    相关资源
    最近更新 更多