【问题标题】:strip new line and carriage return in java [duplicate]在java中去除新行和回车[重复]
【发布时间】:2018-04-01 17:40:11
【问题描述】:

我想从文本中删除 '\n' 和 '\r' 字符。我使用以下正则表达式:“\\n|\\r”并使用 string.replaceAll()。 这可以正常工作并从字符串中删除 \n 和 \r 字符,但它也会从带有反斜杠的以 'n' 和 'r' 开头的单词中删除字符。 例如:someword\new 或 someword\round --> someowrd\ew, someword\ound。 有没有更好的方法来构建正则表达式?

示例代码:(我在 'n' 和 'r' 之前使用了 4 个反斜杠)

String line_sep_regex = "(\\\\n|\\\\r)";
String finalString = jsonData.toString().replaceAll(line_sep_regex, StringUtils.EMPTY);

谢谢。

【问题讨论】:

  • 您使用的是\\\\n 还是\\n?另外,为什么不简单地使用\n\r
  • 您要修改的文本是什么样的?
  • 我用 \ \ \ \ n 。 text其实就是json数据转换成字符串。
  • 要发布正确的答案,我需要看到正确的minimal reproducible example(又名SSCCE
  • 您的问题是X/Y Problem。告诉我们您要解决什么问题,而不是寻求解决方案的帮助,这似乎不是正确的方法。

标签: java


【解决方案1】:

在这种情况下使用锚点 $ 例如

\\r$|\\n$

$ 断言位置在字符串的末尾,或在

末尾的行终止符之前

【讨论】:

    猜你喜欢
    • 2011-09-26
    • 1970-01-01
    • 2011-09-23
    • 2015-11-19
    • 1970-01-01
    • 1970-01-01
    • 2011-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多