Javascript 编译HTML后替换回车(?)
解析HTML后,我得到以下对象: 我想脱光所有的衣服”↵" 除了一个。我怎么能这样做?我试过这样做:Javascript 编译HTML后替换回车(?),javascript,regex,Javascript,Regex,解析HTML后,我得到以下对象: 我想脱光所有的衣服”↵" 除了一个。我怎么能这样做?我试过这样做: weirdString.replace(/(\r\n|\n|\r)/gm, "")); 但是,这将取代所有的“↵“但正如我已经提到的,我想替换除第一个以外的所有…您可以捕获它并使用反向引用进行恢复: weirdString.replace(/^([^\S\r\n]*(?:\r\n?|\n))|(?:\r\n?|\n)/g, "$1")); 这里不需要使用m修饰符 详细信息: ^-字符串的
weirdString.replace(/(\r\n|\n|\r)/gm, ""));
但是,这将取代所有的“↵“但正如我已经提到的,我想替换除第一个以外的所有…您可以捕获它并使用反向引用进行恢复:
weirdString.replace(/^([^\S\r\n]*(?:\r\n?|\n))|(?:\r\n?|\n)/g, "$1"));
这里不需要使用m
修饰符
详细信息:
-字符串的开头^
-捕获组1:([^\S\r\n]*(?:\r\n?|\n))
-除CR和LF之外的任何0+空格[^\S\r\n]*
-任何样式换行符(?:\r\n?|\n)
-或|
-任何样式换行符(?:\r\n?|\n)
$1
,只有捕获到组1中的内容才会放回替换结果中
var weirdString=“\r\n\r\n\r一些文本”;
console.log(weirdString.replace(/^([^\S\r\n]*(?:\r\n?|\n))|(?:\r\n?|\n)/g,“$1”))
有点棘手,但是为什么不先用其他东西替换第一个回车符呢?例如:%@%或其他东西,你在文本中没有使用的东西…然后替换所有其他回车符,最后将%@%标记返回到carrige return…精确匹配的regexp必须处理一些你没有的东西t说明:
- 第一种是可以在两个这样的行尾之间的空白。它应该被认为是干涉的情况
- 第二,在
前面的\n
应该被认为是可选的,因为它出现在来自internet的套接字连接的文本中(大多数协议强制发送\r
,但可以是可选的)\r\n
- 此类型的两个或多个换行符的序列应折叠为一个
(或一个\n
,如您喜欢)\r\n
([ \t]*\r*\n)+
如下图所示。我用一个匹配非空白符号的
[@S.Serp:\S
替换了换行符。[^\S]
=\S
,它匹配一个空白符号。[^\S\r\n]
匹配除非空白、CR和LF之外的任何符号。我接受这个答案,因为它清楚地解决了问题。但是(正如我在介绍文章中所评论的):我希望的结果如下:↵ 1.↵ 因此,如果有多个↵ 在一行中(以空格(?)分隔),删除所有↵ 但是第一个+它的空白我可以问这个作为一个新问题+如果需要的话链接到这个。等等,让我理解这个评论看起来像你想要的。请让我知道,这样我可以调整答案。现在它是这样的:11:↵ 1.这是一个内心世界2.知识本身,但我希望它是这样的:11:↵ 1.↵ 这是我的内心世界。。。。↵ 2.↵ Lorem ipsum,因此仅移除↵ + 如果存在多个空格,则为空白↵ 我的问题是:我希望的结果是:↵ 1.↵ 因此,如果有多个↵ 在一行中(以空格(?)分隔),删除所有↵ 但是第一个+它的空白