在SOLR中删除空格的正则表达式是什么

时间:2012-02-24 07:43:31

标签: solr

在正则表达式中,如何删除SOLR中存在的所有前导,尾随和空格。 要删除特殊字符,我们可以将PatternReplaceFilterFactory设为

<filter class="solr.PatternReplaceFilterFactory" pattern="([^a-z])" replacement="" replace="all" />

将形成什么样的模式值来移除空间。

3 个答案:

答案 0 :(得分:3)

我不知道SOLR,但根据你的例子,我猜你可以做到

<filter class="solr.PatternReplaceFilterFactory" pattern="(\s+)" replacement="" replace="all" />删除所有空格

<filter class="solr.PatternReplaceFilterFactory" pattern="(^\s+|\s+$)" replacement="" replace="all" />只删除前导和尾随空格。

答案 1 :(得分:2)

使用修剪滤镜删除前导和尾随空格。 http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.TrimFilterFactory

只需用一无所有的东西替换所有不是a-z的东西都会导致奇怪的事情发生,这不是一个好主意。

答案 2 :(得分:0)

solr.TrimFilterFactory,可用于删除前导空格和尾随空格而不使用正则表达式。