【问题标题】:Regex remove new line and backslashes [duplicate]正则表达式删除新行和反斜杠[重复]
【发布时间】:2019-07-29 09:57:07
【问题描述】:

我有一个我需要的请求有效负载带有我正在使用下面的正则表达式删除的新行 '\n':

replaceAll("\n", "")

但是它会留下这样一个字符串:

eK7jVPstMFlOJ\/\/PtFIOKgSODxmjpQNgm9ASwQzP0v2RJbZzVXEB5ZOKVxiILhSCng25D87K8P9oHFScbS6OsmGDIf1HMDlXmcSn0JuBFfhx36GGoLpMq3\/xH3wB1Ku5x5\/6WSiijsYit28Rf\/3ZsK2U1PCc9NVVAeoZvLsn\/skjishzVGKJv9elOgkXcoM2F3LbMlrwjw9j4lx07RbeGfq9H7+oANeLCreSZEpe7iC8+zKatT4TCrb7Q3ZW\/FlE1\/JwnOphvdcKDoQvzPrxizN9idrwidF6\/y30CkCB+aW39Bb5dB+YdXmW9eZJNt4ZlI9embs+ZwAKNgZq\/52W\/Q=="

因此我得到错误响应:由于 [Source: (String)\"\"; 处的输入结束\n 没有要映射的内容;行:1,列:0]

如何删除新行和反斜杠,只保留正斜杠

(示例/最终格式的代码应该看起来像,只有正斜杠)

qRqWnruUJGoEGuBPcRRe4Td/BkesYk0KdoaNO6j7QQULZExKE8jVnFdzjJxNA2GPkazen/hcKx3+DMQ7RWupau473z6uF0iVjxcl/U6mTQbtY5tb8c/Qq64C5nYU+iplW+/e1lWyKzZed7IegNRVSABKbyyTrqTmQCghPMCY3evo/YwF0EovKw5Zw1U1BzjMizr7jhBihTsq71WE4MXW4iyhxGbnvPuzqpXBowjcOAyx433PjRDZnty5mum3TeETJMpoF20ULa7q5mnNCW6JbkZErhzGbY5thJNeYUvwhlsP3qFYNlFkO0kKax/nEfxFC6muowOOrFsqerbP0lcAHQ==

【问题讨论】:

  • 您能否包含一个示例有效负载以及您想要的最终结果是什么?
  • .replace("\\", "")删除反斜杠,你甚至不需要正则表达式。
  • @npinti 我已经添加了示例负载
  • @Wiktor,带有 2 个斜杠,这会导致崩溃,除非有 4 个,但它仍然会在字符串中留下类似 -> \/

标签: java android regex


【解决方案1】:

听起来你需要做的就是也替换你的反斜杠......

你可以链接调用,所以试试这样的:

final String result = original.replaceAll("\n", "")
                              .replaceAll("\\\\", "");

或者,对于单行解决方案:

final String result = original.replaceAll("([\\\\\n])", "");

【讨论】:

  • 使用第一个解决方案,我仍然得到类似\/ 的内容,使用第二个解决方案,所有反斜杠和正斜杠都被替换
  • @Boron 不,该代码无法删除正斜杠。你做错了什么。
猜你喜欢
  • 1970-01-01
  • 2017-07-10
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 2021-07-11
  • 2012-06-01
  • 1970-01-01
相关资源
最近更新 更多