在JAVA中搜索具有类似于完整字符串的空格的字符串
我面临一个问题,非常感谢你的帮助 我正在使用java并将其连接到postgres DB。我试着用在JAVA中搜索具有类似于完整字符串的空格的字符串,java,regex,postgresql,Java,Regex,Postgresql,我面临一个问题,非常感谢你的帮助 我正在使用java并将其连接到postgres DB。我试着用LIKE编写一个查询,它是有效的,但我正在寻找的是regex,它的工作原理类似于LIKE,其中也计算了空格 例如,假设我们的数组中有来自DB as结果的以下条目 “猫”,“猫”,“猫” 等我打字的时候 “c a ts” 在搜索过滤器中,我应该从包含数据库所有结果的数组中检索上述所有内容。您不需要regex。例如这里的'cats'是“像”'cats': b=# select replace('c a t
LIKE
编写一个查询,它是有效的,但我正在寻找的是regex
,它的工作原理类似于LIKE
,其中也计算了空格
例如,假设我们的数组中有来自DB as结果的以下条目
“猫”,“猫”,“猫”
等我打字的时候
“c a ts”
在搜索过滤器中,我应该从包含数据库所有结果的数组中检索上述所有内容。您不需要
regex
。例如这里的'cats'
是“像”'cats'
:
b=# select replace('c a ts',' ','') like replace('ca ts',' ','') as example;
example
---------
t
(1 row)
您可以尝试替换输入和搜索模式中的空格:
String input = "a b c";
String searchPattern = "ab c";
Pattern pat = Pattern.compile(searchPattern.replace(" ", ""));
System.out.println(pat.matcher(input.replace(" ", "")).matches());
是的,我已经使用了LIKE,我可以从数据库中获取它。但我的问题是,我在一个数组中拥有所有这些结果,搜索将在该数组中完成,以从该数组中获取所有此类项。因为无论何时使用,我们都会触及数据库,我们希望减少对数据库的依赖性,您不断更改所述的问题。详细定义您试图解决的实际问题。如果涉及到数组,请说明如何使用。所以你想做一个忽略空格的文本模式匹配?是的,这正是我想要的。那为什么你在其他答案上的评论提到数组?数组从何而来?@CraigRinger我之所以提到数组,是因为我需要数组内容的文本模式匹配。数组的内容是我上面提到的内容以及其他一些值,现在我需要一个模式匹配来检索基于模式的所有结果,但这不是一个数组,它只是一个字符串。