【问题标题】:RegEx JavaScript to replace equal sign followed by a new lineRegEx JavaScript 替换等号后跟一个新行
【发布时间】:2021-05-09 15:50:32
【问题描述】:

我正在尝试制作一个正则表达式,它将替换等号,后跟一个没有任何内容的新行。

这里是一个文本示例。注意每一行都以等号和一个新行结束。

<p style=3D"border-bottom: 1px solid lightgrey; padding-bottom: 10px; margi=
n-bottom: 10px">From @mytwitterrrr filtered:<br></p><div><div><a href=3D"ht=
tps://feeder.co/p/076b2f56-af6c-11eb-adf3-1a21cf3a468a?u=3Da6566144-b0a5-4d=

我很确定这段代码正在替换新行和所有等号出现,包括第一行开头的那个

let parsed = message.replace(/\n*.+=/g,',') 

谢谢!

【问题讨论】:

  • 首先将=3D 转换为独特的东西,例如@@@。然后你摆脱所有= 用\''\ 替换它们。最后你将所有@@@ 重新转换为=
  • 您正在查看quoted-printable 文本编码。它有现有的 npm 包,例如npmjs.com/package/quoted-printable。最好使用适当的编码器/解码器,而不是尝试使用正则表达式对其进行破解。
  • message.replace(/=$/gm, '')

标签: javascript regex


【解决方案1】:

下面应该可以工作

/=\n/g, ''

const currentString = `<p style=3D"border-bottom: 1px solid lightgrey; padding-bottom: 10px; margi=
n-bottom: 10px">From @sl_steamroom filtered:<br></p><div><div><a href=3D"ht=
tps://feeder.co/p/076b2f56-af6c-11eb-adf3-1a21cf3a468a?u=3Da6566144-b0a5-4d=
`
const newStr = currentString.replace(/=\n/g, '');

document.querySelector('#div').innerHTML = newStr
console.log(newStr)
&lt;div id="div"&gt;&lt;/div&gt;

【讨论】:

  • Owen Kelvin,这非常适合我的需求。谢谢!
【解决方案2】:

这将替换后跟换行符的每个=,但不会替换换行符。

let parsed = message.replace(/=(?=\n)/g,',')

它通过使用前瞻(?=\n) 来实现这一点,该(?=\n) 前瞻换行符\n

【讨论】:

  • Layton GB,第二次替换替换换行符时效果很好。谢谢!
猜你喜欢
  • 2011-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-08
  • 2012-08-29
  • 2021-08-17
相关资源
最近更新 更多