繁体   English   中英

将多个换行符插入JavaScript字符串(regex)(CodeMirror)

[英]Insert multiple line breaks into a JavaScript string (regex) (CodeMirror)

我有一些字符串,我想在某些点插入一些换行符。

我想出了一些物流方法,但总的来说,我似乎无法解决这个问题,可能是因为我对正则表达式的经验有限。

基本上,我有一长串的XML标签,它们全部都在一行上。 我想在某些点添加换行符,以使数据更加格式化并看起来不错。 我正在使用CodeMirror在网页上显示此数据,但由于某些原因,它全部显示在第1行上。

所以我需要从这样的事情出发:

<Sample><Name></Name><PhoneNumber><AreaCode></AreaCode><Number></Number></PhoneNumber></Sample>

对于这样的事情:

<Sample>
  <Name></Name>
  <PhoneNumber>
    <AreaCode></AreaCode>
    <Number></Number>
  </PhoneNumber>
</Sample>

CodeMirror将处理其余所有格式设置,我需要做的就是使用regex或某种形式的循环将换行符插入正确的位置。 标签会或可能会更改,所以我猜必须使用正则表达式。

我已经成功地用\\ n和&#xD插入了换行符,但是似乎无法使正则表达式检测到正确的位置。

任何帮助将不胜感激。 谢谢。

更新我忽略了这一点,但括号实际上是作为<和>发送的

因此,示例标记如下所示:

&lt;PhoneNumber&gt;

要么

&lt;/PhoneNumber&gt;

因此,基本上需要在每个&gt;之后插入一个\\n &gt; 即结束标记或包含子标记的开始标记。

试试这个regex模式:

  >\s*<(?!/)

替换字符串: >\\n<

更新:

&gt;\s*&lt;(?!/)

这里有龙。

我想为您指出一个不久前回答非常相似的问题 ,它很好地解释了为什么您不应该自己尝试解析XML,除非您真的知道自己在做什么。

如果您想获得漂亮的换行符和类似的东西,请使用XML反序列化器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM