我正在寻找一个Java 5 lbrary,让我比较一些文本,因为以下行返回true:
" foo bar " == "foo bar"
"foo\nbar" == "foo bar"
"foo\tbar" == "foo bar"
"féé bar" == "fee bar"
有什么建议吗?
答案 0 :(得分:1)
您可以使用正则表达式来比较模式和...
http://java.sun.com/docs/books/tutorial/essential/regex/
http://www.regular-expressions.info/java.html
答案 1 :(得分:1)
我认为您不会找到具有这些特定规则的库。你必须自己编码。对于某些规则,正则表达式甚至String
框架方法都很有用,但是,对于最后一条规则,我认为你必须为这些特殊字符保持Map
的相等性。然后,您将不得不遍历字符串中的每个字符,使用此Map比较它们。而且,既然你已经遍历了字符串,那么你可以在一次迭代中应用所有规则,避免使用正则表达式。
答案 2 :(得分:1)
在比较它们之前,听起来好像是想根据规则编写一个方法来“规范化”字符串。使用trim
作为第一条规则,使用replace
或StringUtils.replaceChars()作为其他规则。
答案 3 :(得分:1)
它没有直接指定的功能,但您也可以使用google-guava库中的CharMatcher函数:http://code.google.com/p/guava-libraries/
答案 4 :(得分:1)