【问题标题】:How to replace all the special character who follows another character如何替换跟随另一个字符的所有特殊字符
【发布时间】:2020-08-13 07:27:42
【问题描述】:

我有一个包含一些特殊字符的长字符串。我需要检查那些不跟随空格的特殊字符,并将其替换为特殊字符和空格。

示例 输入

var a = '<span>< hello < test<zero</span>';

输出

var a = '<span>< hello < test< zero</span>';

在这里你可以看到最后一个&lt;&lt; 替换,因为它跟在z 后面,不是空格。请记住,在 HTML 中,特殊字符会出现在像

这样的实体中
&lt;

正则表达式解决方案会很棒。

【问题讨论】:

  • 可以添加你试过的代码吗?
  • 我按照基本的 while 循环查找字符并找到位置,然后将 +1 添加到位置并检查,这是有效的,但我需要正则表达式中的解决方案。
  • 您可以使用 &lt;(?! ) 并替换为完全匹配和空格 $&amp; regex101.com/r/o2fb8u/1
  • @Thefourthbird 你真棒

标签: javascript regex angular typescript


【解决方案1】:

let a = '< hello < test<zero';

const pattern = /<(?!\s)/g;

let b = a.replace(pattern, "< ");

console.log(b)

图案说明:

后面没有空格的“

【讨论】:

    【解决方案2】:
    a.replace(/<([^\s]{1})/g, '< $1')
    

    【讨论】:

    • 谢谢,它只适用于第一种情况,如果我在字符串中有很多这样的情况,它就不起作用
    • 请在您的答案中添加一些解释,以便其他人可以从中学习
    猜你喜欢
    • 2014-05-18
    • 2012-11-06
    • 1970-01-01
    • 1970-01-01
    • 2019-08-31
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    相关资源
    最近更新 更多