2014-09-30 63 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}]", ""); 

通過這個我可以忽略ö鄰:)

我還沒有找到如何在性格比較但這可以替代它