2014-09-30 29 views
0

我使用pdfbox从pdf文件获取数据 我正在使用selenium webdriver将该数据与网页数据进行比较。 我可以从两者中获取数据。 我用包含方法来比较两个数据。 Java是能够比较glädjande类型的数据,但是当Kommunstyrelsensordförande用作句子其不能够匹配。然而ordförande作为一个单词可以匹配。 我也试过Java无法比较pdfbox中的ö(瑞典字符)

PDFTextStripper pdfStripper = new PDFTextStripper("ISO8859_1"); 

但无法使用contains方法来匹配数据。

+0

@Test \t公共无效TCTwoStringCompare() \t { \t \t字符串STR1 = “KommunstyrelsensordförandeKommunstyrelsensordförande”; \t \t String str2 =“KommunstyrelsensordförandeKommunstyrelsens”; \t System.out.println(str1.contains(str2)); \t} //这是工作 – 2014-09-30 06:52:43

+0

试一试并打印出两个字符串的字符代码。也许在一种情况下,你没有'ö',而是一个'ő'。 – mkl 2014-09-30 07:13:10

+0

我已经使用过PDFTextStripper pdfStripper =新PDFTextStripper(“ISO-8859-1”);为瑞典语。我怎样才能知道字符串 – 2014-09-30 07:29:36

回答

1

使用java的collat​​er类更改语言环境&比较非英文字符串&个字符。

import java.text.Collator; 
import java.util.Locale; 

    public class CollatorExp { 

    public static void main(String[] args) { 
     Collator collator = Collator.getInstance(Locale.FRENCH); 
     collator.setStrength(Collator.PRIMARY); 

     if (collator.compare("xéáuér", "xéáuér") == 0) { 
      System.out.println("Equal"); 
     } else { 
      System.out.println("Not Equal"); 
     } 
    } 
} 
+0

我的PDF文件是瑞典语。瑞典语 – 2014-09-30 06:41:39

+0

然后我不知道:( – 2014-09-30 06:57:25

+0

:(如果java能比较字符串像“Kommunstyrelsensordförande”,但从PDF文件获得它不能比较作为一个词。我检查与pdfbox和itextpdf也一样,但同样的事情发生了! – 2014-09-30 07:08:26

0
String normalized = Normalizer.normalize(local, Normalizer.Form.NFD); 
String ascii = normalized.replaceAll("[^\\p{ASCII}]", ""); 

通过这个我可以忽略ö邻:)

我还没有找到如何在性格比较但这可以替代它