2013-02-16 97 views
3

我想寫一個程序,在這個程序中我必須對一個字符串列表與一個模板(本質上是一個字符串)進行比較。我不確定使用的術語是什麼,但如果有幫助的話,它將更多地是日誌抓取程序。比較一個字符串和一個像字符串這樣的模板

輸入字符串的例子:

  1. 的Hello World這是我
  2. 你好陌生的世界,這是一個人
  3. 這是一個測試文件
  4. 的Hello World這是一個機器人

對比

a。這是一個檔案

b。你好世界這是

這個想法是將輸入語句(1-4)與模板字符串(a-b)匹配,如果它們匹配,那麼我需要對它們採取行動。像1 & 4匹配句b沒有。

在此先感謝幫助/指示。

+3

模板串讓我覺得你應該使用正則表達式! – Juvanis 2013-02-16 03:20:33

+0

在這種情況下,我可能用一個正則表達式替換***?***,然後將它與傳入的字符串進行匹配? – Rox 2013-02-16 03:24:00

回答

1

更改?.*,你已經有了一個正則表達式:

String input = "Hello World this is me"; 

if (input.matches("Hello World this is .*")) 
    // true 

+0

對不起,如果我給了一個不好的例子,但我可能在句子中間有***?***字符串,我有點擔心日誌中的標點符號 – Rox 2013-02-16 03:27:16

+0

@Rox - 您可以使用正則表達式處理標點符號。閱讀http://www.regular-expressions.info/和http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html – 2013-02-16 03:34:08

+0

@StephenC - 謝謝,我認爲那樣會幫幫我。乾杯! – Rox 2013-02-16 03:37:23