如何从字符串中删除所有换行符

新手上路,请多包涵

我在 textarea 中有一个文本,我使用 .value 属性将其读出。

现在我想使用 .replace 和正则表达式从我的文本中删除所有换行符(按 ---0--- 时产生的字符),但是如何在正则表达式中指示换行符?

如果这不可能,还有其他方法吗?

原文由 Wingblade 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

换行符(更好:换行符)可以是回车(CR, \r ,在较旧的 Mac 上),换行符(LF, \n ,在 Unices 包括 Linux 上)或 CR 后跟 LF( \r\n ,在操作系统)。 (与另一个答案相反,这与字符编码 _无关_。)

因此,匹配所有变体的最有效的 RegExp 文字是

/\r?\n|\r/

如果要匹配字符串中的所有换行符,请使用全局匹配,

 /\r?\n|\r/g

分别。然后按照其他几个答案中的建议继续使用 replace 方法。 (可能您 不想 删除换行符,而是将它们替换为其他空格,例如空格字符,以便单词保持不变。)

原文由 PointedEars 发布,翻译遵循 CC BY-SA 4.0 许可协议

您如何找到换行符因操作系统编码而异。 Windows 将是 \r\n ,但 Linux 仅使用 \n 而 Apple 使用 \r

我在 JavaScript 换行符 中发现了这个:

 someText = someText.replace(/(\r\n|\n|\r)/gm, "");

那应该删除各种换行符。

原文由 Eremite 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题