【发布时间】:2018-04-09 09:35:36
【问题描述】:
我需要用java替换一个字符串,但问题是搜索字符串可能比原始字符串有更多或更少的空格。
假设我们搜索
"find me"
它应该匹配以下任何一个:
- "find me"
- "find me"
- "find \n\r me"
- "find \t me"
原因是搜索字符串来自一个 jsoup 元素 innerhtml(),该元素具有插入空格的逻辑。
当然,使用一些智能正则表达式可以解决问题,但是我们必须从搜索字符串中安全地转义正则表达式字符(这并不保证只是一个简单的字母数字字符串,例如如果搜索字符串是 ' abc?def')
此外,预先替换输入中的所有双空格不是一种选择。
【问题讨论】:
-
您能给我们提供有关您在哪里/如何进行匹配的背景信息吗?
-
@khelwood 说了什么。另外,看看
Pattern.quote(),这会为您完成所需的转义。 -
您可以先使用
.text()而不是.html()来获取规范化空格字符串。 -
这不是“为什么这段代码不起作用?”问题,所以关闭的原因不适用。 (投票重新开放)
标签: java string replace whitespace